問題描述:
進行模型訓練時,特征資料必不可少,但是特征數量、特征品質如何,對模型效果起着十分關鍵的作用。有時候特征次元很高但是有很多特征對模型效果提升是無益的,甚至在有的模型中特征之間還會進行幹擾。此時特征選擇是十分必要的,通過特征選擇選取最優特征子集能達到提高模型訓練速率和模型效果的目的。
特征選擇流程:
進行特征選擇時,需要生成特征子集,确定好評價函數(模型效果是否變優),停止準則(什麼時候停止特征選擇),驗證效果(使用驗證集對特征選擇方法進行評估)。
特征選擇方法:
1.單特征-卡門檻值:對特征方差超過某一個設定門檻值,即可過濾掉。選取門檻值方法:Var[X]=p(1-p)
2.單變量特征選擇:通過選取topk的特征作為模型最終輸入
3.基于L1正則化的特征選擇:選擇非零系數//TODO
4.基于樹模型的特征選擇:利用樹模型進行模型訓練時其實已經有個特征重要性排序,根據這個重要性排序也能進行特征選擇
......
衡量标準:
1.相關性:卡方檢驗,這是個十分重要的名額
2.資訊增益
3.距離衡量
參考文獻:
http://www.cnblogs.com/heaad/archive/2011/01/02/1924088.html
https://en.wikipedia.org/wiki/Feature_selection
http://scikit-learn.org/stable/modules/feature_selection.html#feature-selection