2017-05-26 134 views
-1

我的問題是,我應該先對整個數據集進行特徵選擇selectkbest sklearn功能,然後partion數據集中到訓練和測試設置或者我應該在訓練和測試datset執行selectkbest他們已分區之後?在第二個是那裏不同的k-特徵將被選擇用於測試數據集比被用於訓練的可能性?我對機器學習非常陌生,最近剛剛學習了一些關於特徵選擇的知識。在特徵選擇,我應該使用SelectKBest培訓和測試單獨數據集?

我用單變量特徵選擇例如這裏瞭解selectkbest - http://scikit-learn.org/stable/modules/feature_selection.html爲例

回答

0

從技術上講,你應該適合在訓練集selectKbest然後「改造」的測試與安裝的選擇設置。這是因爲您不應該在訓練過程的任何部分使用測試數據。

試想在後一階段將模型應用於新數據。在這種情況下,你將不得不使用你已經在訓練數據上訓練selectKbest模型「改造」這些數據。所以,這是更準確的性能評估的正確過程。

如果要實現一些交叉驗證方案,你應該重複這個步驟,對每個CV倍,以獲取有關分類(或迴歸)表現一個正確的估計。

相關問題