經常使用的特徵處理方法

對於機器學習模型,咱們把他們分紅基於樹的模型和非基於樹的模型,由於在處理他們的特徵須要不一樣的方法。機器學習

1.數值型特徵

若是一個特徵的值特別大的話,那麼會使得其在非樹模型上佔有很大的比例,因此咱們一般對其作歸一化處理。
Outliers:無論是對特徵仍是標籤,異常數據對模型的魯棒性都會帶來較大的打擊,因此經常使用取數據的99%來去除異常數據。
rank:在處理outlier的時候能夠把數值型轉化成rank排序特徵,這樣異常值和普通值之間的差距就不會那麼大,在排序時要注意訓練集與測試集之間的rank鏈接(對此,能夠先把train和test連在一塊兒再作rank排序)。
log transform和sqrt:這兩種方法均可以把太大的值轉化到均值附近,下降異常值帶來的影響。
特徵生成方法:數值型特徵的生成能夠把在特徵之間進行加減乘除等運算方式以求構建出較爲有用的方法。
好的特徵一般也須要一些常識性的東西,如一個產品的價格是2.49,那麼咱們能夠把小數0.49當作一個新的特徵,此特徵考察的是人對價格心理因素。又好比如何辨別垃圾郵件的問題,沒有人會在一秒鐘間隔下閱讀郵件。學習

2.類別型數據

類別數據分紅類別和順序變量,順序變量屬於類別,可是在其含義中包含了順序關係,和數值型特徵之間的區別是順序變量並不能對比兩對特徵之間的差值大小。
舉例順序變量以下:
票的類型: 1,2,3
駕照類型:A,B,C,D
教育背景:小學,中學,大學
對順序特徵的處理方法有one-hot方法,LabelEncode方法(在作labelencode時注意其順序關係),頻率編碼(就是統計不一樣類別在數據集中出現的次數)。測試

3.時序特徵

找到當前時間的day,month,season,year,day of week,second等等
計算離某個時間點的距離
計算兩個時間的差值編碼

4.缺失值

使用某個值作替代
使用mean,medain方法
使用其所在類別下的均值
構建一個模型來預測其缺失值可能的位置code

相關文章
相關標籤/搜索