作者:hooly
微信公眾號:一口袋星光
1.導入數據
2.數據預處理:
2.1標準化:
把數據按比例縮放,使之落入一個小的空間里。常用的方法有:
1.z-score標準化(或零-均值規范化),經過處理后的數據均值為0,標準差為1,處理方法是:
其中μ是樣本的均值,σ是樣本的標準差
2.區間放縮法/線性轉換:
y=( (x-MinValue) / (MaxValue-MinValue) )(new_MaxValue-new_MinValue)+new_minValue
2.2歸一化:
歸一化把有量綱的數據轉化成無量綱數據,且歸到[0,1]區間內,常見的方法有:
1.區間放縮法/線性轉換:
其中min是樣本中最小值,max是樣本中最大值,最大值與最小值非常容易受異常點影響。
2.對數函數轉換:
y=log10(x)
標準化和歸一化的區別:
標準化是將數據壓縮到一個小的區間;而歸一化是將樣本的特征值轉換到同一量綱下把數據映射到[0,1]區間內。
2.3定量特征二值化:
以某個值為閾值,轉換為0,1變量
eg 將用戶的對某類產品的近3個月的購買頻次二值化,設置>10次算做頻繁購買,<=10次算不頻繁購買;(這個例子可能不夠好)
2.4定性特征啞編碼
啞變量:也叫虛擬變量,引入啞變量的目的是,將不能夠定量處理的變量量化,如職業、性別對收入的影響,這種“量化”通常是通過引入“啞變量”來完成的。根據這些因素的屬性類型,構造只取“0”或“1”的人工變量。
eg 假設變量“職業”的取值分別為:工人、農民、學生、企業職員、其他,5種選項,我們可以增加4個啞變量來代替“職業”這個變量,分別為D1(1=工人/0=非工人)、D2(1=農民/0=非農民)、D3(1=學生/0=非學生)、D4(1=企業職員/0=非企業職員),最后一個選項“其他”的信息已經包含在這4個變量中了,所以不需要再增加一個D5(1=其他/0=非其他)了
2.5連續數據離散化
將連續的特征,做分組處理,使其離散化,
eg團購所有的deal的折扣分布,是從0到10折之間的連續的值,我們可以按照步長為1折進行分組。所以所有折扣可以分為0~1折;1~2折...9~10折
2.6缺省值填補,missing value
對于缺失值填補有幾種方式,均值填補、中位數、眾數等統計上的數據填補。或者使用機器學習預測數據進行填補
eg 比如上面例子中的折扣我們可以使用均值(mean)填補,但是對于性別缺省的我們無法填補,這時候可以使用機器學習進行性別預測(當然預測的效果只有你自己知道)
2.7交叉特征:
有些特征需要交叉才有意義:示例
2.8降維
3.特征選擇
3.1 Filter法(過濾法)
按照變量內部特征或者相關性對各個特征進行評分,設定閾值或者待選擇閾值的個數選擇特征.與特定的學習算法無關,因此具有較好的通用性,作為特征的預篩選器非常合適。缺點主要是由于算法的評價標準獨立于特定的學習算法,所選的特征子集在分類準確率方面通常低于Wrapper方法。
1方差選擇法:計算各個特征的方差,然后根據閾值,選擇方差大于閾值的特征,簡單來說方差過小的特征,說明特征值變化不大,這樣的特征會導致后面學習效果比較差,所以我們應該盡量選方差較大的特征。
2.相關系數計算法:可以使用皮爾遜系數計算特征自標量和目標值因變量之間的相關系數。[-1,1]之間,大于1正相關,小于1負相關,等于0 不相關。
3.卡方檢驗
4.互信息
3.2 Wrapper法(封裝法)
封裝式特征選擇是利用學習算法的性能來評價特征子集的優劣。因此,對于一個待評價的特征子集,Wrapper方法需要訓練一個分類器,根據分類器的性能對該特征子集進行評價,學習算法包括決策樹、神經網絡、貝葉斯分類器、近鄰法以及支持向量機等。Wrapper方法缺點主要是特征通用性不強,當改變學習算法時,需要針對該學習算法重新進行特征選擇。
1.遞歸特征消除法:遞歸消除特征法使用一個模型來進行多輪訓練,每輪訓練后,消除若干權值系數的特征,再基于新的特征集進行下一輪訓練。Logistic回歸的R實現詳見本微信公眾號歷史文章:Logistic回歸詳解(三)——變量選擇部分。
3.3 Embedded(集成法)
在集成法特征選擇中,特征選擇算法本身作為組成部分嵌入到學習算法里。最典型的即決策樹算法。包括基于懲罰項的特征選擇法和基于樹模型的特征選擇法。
1.基于懲罰項的特征選擇法
2.基于樹模型的特征選擇法
4降維
4.1主成分分析PCA
4.2線性判別分析LDA
作者:hooly
微信公眾號:一口袋星光
我會在微信公號上持續更新我的文章,你來討論我很歡迎。