特征選擇

參考
當(dāng)數(shù)據(jù)預(yù)處理完成后,我們需要選擇有意義的特征輸入機(jī)器學(xué)習(xí)的算法和模型進(jìn)行訓(xùn)練。通常來說,從兩個方面來考慮特征:

  • 特征是否發(fā)散:如果特征不發(fā)散,方差接近于0,也就說每個樣本上特征值都差不多,這個特征對于樣本區(qū)分基本無意義。
  • 特征與目標(biāo)的相關(guān)性:

Filter

方差選擇法

使用方差選擇法,要先計算各個特征的方差,然后根據(jù)閾值,選擇方差大于閾值的特征(選擇波動大的特征)。使用feature_selection庫的VarianceThreshold類來選擇特征的代碼:

from sklearn.feature_selection import VarianceThreshold
import numpy as np
#方差選擇法,返回值為特征選擇后的數(shù)據(jù)
print(iris.data[:,0].var())
print(iris.data[:,1].var())
print(iris.data[:,2].var())
print(iris.data[:,3].var())
VarianceThreshold(threshold=3).fit_transform(iris.data)
#只有第三列的方差大于3,因此選擇出第三列

這個要和定量特征二值化區(qū)分開,定量特征二值化的核心在于設(shè)定一個閾值,樣本自身的值大于閾值的賦值為1,小于等于閾值的閾值為0.

from sklearn.preprocessing import Binarizer
#二值化,閾值設(shè)置為3,返回值為二值化后的數(shù)據(jù)
Binarizer(threshold=3).fit_transform(iris.data)

相關(guān)系數(shù)法

使用相關(guān)系數(shù)法,先要計算各個特征對目標(biāo)值得相關(guān)系數(shù)以及相關(guān)系數(shù)的P值。用feature_selection庫的SlectKBest類結(jié)合相關(guān)系數(shù)來選擇特征:
[待續(xù)]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容