2. 特征工程之特征選擇


1. 特征工程之特征預處理

2. 特征工程之特征選擇

1. 前言

當數據預處理完成后,我們需要選擇有意義的特征輸入機器學習的算法和模型進行訓練。

2. 特征選擇的方法

通常來說,從兩個方面考慮來選擇特征:

  • 特征是否發散:如果一個特征不發散,例如方差接近於0,也就是說樣本在這個特征上基本上沒有差異,這個特征對於樣本的區分並沒有什么用。
  • 特征與目標的相關性:這點比較顯見,與目標相關性高的特征,應當優選選擇。除方差法外,本文介紹的其他方法均從相關性考慮。

特征選擇方法有很多,一般分為三類:

  1. 過濾法(Filter)比較簡單,它按照特征的發散性或者相關性指標對各個特征進行評分,設定評分閾值或者待選擇閾值的個數,選擇合適特征。上面我們提到的方差篩選就是過濾法的一種。
  2. 包裝法(Wrapper),根據目標函數,通常是預測效果評分,每次選擇部分特征,或者排除部分特征。
  3. 集成法(Embedded),它先使用某些機器學習的算法和模型進行訓練,得到各個特征的權值系數,根據權值系數從大到小來選擇特征。

2.1 Filter

2.1.1 方差選擇法

使用方差選擇法,先要計算各個特征的方差,然后根據閾值,選擇方差大於閾值的特征。使用feature_selection庫的VarianceThreshold類來選擇特征

2.1.2 相關系數法

使用相關系數法,先要計算各個特征對目標值的相關系數以及相關系數的P值。用feature_selection庫的SelectKBest類結合相關系數來選擇特征

2.1.3 卡方檢驗

經典的卡方檢驗是檢驗定性自變量對定性因變量的相關性。假設自變量有N種取值,因變量有M種取值,考慮自變量等於i且因變量等於j的樣本頻數的觀察值與期望的差距,構建統計量:

\[{\chi}^2=\sum\frac{(A-E)^2}{E} \]

2.1.4 互信息法

經典的互信息也是評價定性自變量對定性因變量的相關性的。

\[I(X,Y)=∫_X∫_YP(X,Y)log\frac{P(X,Y)}{P(X)P(Y)} \]

2.2 Wrapper

2.2.1 遞歸特征消除法

遞歸消除特征法使用一個基模型來進行多輪訓練,每輪訓練后,消除若干權值系數的特征,再基於新的特征集進行下一輪訓練。

2.3 Embedded

2.3.1 基於懲罰項的特征選擇法

使用帶懲罰項的基模型,除了篩選出特征外,同時也進行了降維。使用feature_selection庫的SelectFromModel類結合帶L1懲罰項的邏輯回歸模型

2.3.2 基於樹模型的特征選擇法

樹模型中GBDT也可用來作為基模型進行特征選擇,使用feature_selection庫的SelectFromModel類結合GBDT模型

3. 總結

特征選擇是在通過各種維度(例如上文提到的方差維度、互信息維度、遞歸特征等)去衡量所有特征,然后在各個維度下,對評分差的一些特征加上專家人員的判斷,來決定是否應該刪除。通過一層層的篩選,最后剩下的特征在某些方面可能會對模型有特征作用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM