2013-06-27 11 views
2

我遇到我的數據怪異的結果只有一個班,我不知道,如果你或其他人可以有任何的見解,它.. 我有大約5000個數據與各地16000屬性,我爲每個類(我只有兩個類)使用2000個數據訓練了我的RBF svm(我在matlab上使用了libsvm),並用剩下的(大約1000個數據)測試了它。結果對libsvm的有利於從兩類

奇怪的部分是結果的所有概率估計都具有相同的值,因此屬於一個類的100%測試數據導致了正確的預測,其餘100%導致錯誤,這就像是不管怎樣輸入是,它會預測第一類..

我試過交叉驗證,以找到RBF的最佳參數,但準確性沒有遠離50%(你可以猜測爲什麼,一半100%正確和100%錯誤),最大準確率爲51.25%。

然後我嘗試了線性支持向量機,儘管概率估計值至少與以前不一樣,但結果仍然表現出相同的趨勢,儘管不像以前那樣是100%(97%爲一級,4%爲其他),所以是的,主要的問題是它支持一個類,不管測試數據是什麼。

我還沒有嘗試居中或縮放數據,會有什麼區別?

你們有什麼想法嗎?我真的很感激它。謝謝。

回答

1

有幾件事情可以去錯了,但你在這裏似乎缺少的主要事情:

  1. Scale的數據:是的,這是重要。它可以在最終的分類器的性能上產生顯着的差異。 LIBSVM作者編寫的​​中提供了一個很好的例子(附錄B)。確保在訓練和測試數據上使用相同的比例因子。
  2. 您沒有調整C參數。根據你的描述,這聽起來像C是太低。這導致分類器具有非常簡單的參數(alpha s),但存在大量錯誤分類。本指南還包含有關爲什麼以及如何完成參數調整的很好說明。
+0

喜馬克,非常感謝你的回答.. –

+0

對不起,誤送.. 繼續說:我沒有通過導建議的參數搜索並得到最佳的C = 32,最好的伽馬= 1.4176e-007對於cv的準確率99.7571,但仍然當我測試它與看不見的測試數據,準確性只有51.1%,現在結果是相反,svm有利於第二類..但我仍然沒有嘗試縮放數據,將在稍後報告..你有什麼見解迄今爲止?非常感謝你.. –

+1

嗨馬克,所以我決定縮減我的數據,16000功能太多,我的電腦處理得很快..現在他們每個4096個功能..我做了你的建議,並在交叉驗證之前先進行縮放,訓練和測試..對於4000個訓練數據和1000個測試數據(平衡),我設法得到了84.1%的結果,不錯,我想..會嘗試改進它..你有什麼建議嗎?無論如何,謝謝你的幫助..:D –