2014-02-10 258 views
1

我使用scikit工具(Normalizer()。transform)爲每個樣本單獨構建了一個包含13個特徵(無二進制特徵)的分類器並對其進行了歸一化。分類器預測結果有偏差

當我做出預測它預測所有的訓練集作爲陽性和所有測試集爲陰性(實際上不論是正面還是負面)

我應該專注於我的分類,功能或數據有什麼異常? ??

備註:1)我將測試和訓練集(分別針對每個樣本)分開歸一化。

2)我試圖交叉驗證但性能相同

3)I同時使用線性SVM和RBF內核

4)我試圖未經標準化了。但同樣差的結果

5)我有相同數量的正數據集和負數據集(每個400個)以及34個正樣本和1000個以上樣本的負測試集。

回答

1

如果您在平衡數據方面進行培訓,那麼「它預測所有培訓集合都爲正面」這一事實足以得出結論:出現了問題。

嘗試構建非常簡單的事情(例如,具有一個或兩個特徵的線性SVM),並查看模型以及訓練數據的可視化;按照scikit學習例如:http://scikit-learn.org/stable/auto_examples/svm/plot_iris.html

還有你輸入的數據有很多大的異常值影響的變換過程的可能性...

+0

我會嘗試第一個建議。其實我使用MRMR技術進行特徵選擇。但我懷疑第二個數據有很多異常值。我假設創建負數據集(分類器無法預測)非常大。因此,你可以向我建議一些技巧,提供實用的鏈接和資源,我可以用它們去除異常值。我嘗試過使用支持向量機的異常檢測技術,但似乎我在那裏也失敗了。請幫助我。 – Ashutosh

+0

那麼,異常值可能意味着很多不同的事情。與其嘗試更復雜的方法,不如嘗試更簡單的方法來找出數據或數據準備過程中正在發生的事情。這不僅僅是建模技術,可能是你正在觀察的根源。 – cohoz

+0

好的...任何具體的協議或方法來弄清楚(數據或數據準備過程的問題)? – Ashutosh

0

從測試/驗證嘗試在訓練數據做特徵選擇(Seperately數據)。 整個數據集上的特徵選擇很容易導致過度擬合。

相關問題