數據預處理

參考:

http://mp.weixin.qq.com/s?__biz=MjM5MTQzNzU2NA==&mid=2651647587&idx=2&sn=d0d3a69ce141f4015d6e0320048fbe63&chksm=bd4dc9f08a3a40e6eb2056107db353b4b657077ef8d3f999c757a70c97802a2de35241298abe&mpshare=1&scene=1&srcid=0323iBzLDEcUEEDRMZUsho68#rd

http://blog.csdn.net/lizhengnanhua/article/details/8982968

1. 空缺值:忽略該記錄;去掉屬性;手工填寫空缺值;使用默認值;使用平均值;預測最可能的值。

2. 連續值:離散化。有的模型(如決策樹)需要離散值

3. 離散值: OneHot編碼。有的離散特徵如顏色需OneHot編碼。

4. 對定量特徵二值化。核心在於設定一個閾值,大於閾值的賦值爲1,小於等於閾值的賦值爲0。如圖像操作

5. 噪聲:平滑,有按平均值平滑、按邊界值平滑和按中值平滑。

6. 歸一化:將數據按比例縮放,使這些數據落入到一個較小的特定的區間之內。概率模型不需要歸一化,因爲它們不關心變量的值,而是關心變量的分佈和變量之間的條件概率,如決策樹、rf、gbdt、xgboost。而像svm、lr、KNN、KMeans之類的最優化問題就需要歸一化。

a.最小最大縮放

b.Z-score標準化。讓數據服從基於 μ=0 和 σ=1的標準正態分佈

7. 標籤編碼:把字符類別特徵編碼成數值類型,如紅綠藍編碼爲0、1、2


最小最大縮放:
當使用基於距離的算法時,我們必須嘗試將數據縮放,這樣較不重要的特徵不會因爲自身較大的範圍而主導目標函數。如KNN。
在邏輯迴歸中,每個特徵都被分配了權重或係數(Wi)。如果某個特徵有相對來說比較大的範圍,而且其在目標函數中無關緊要,那麼邏輯迴歸模型自己就會分配一個非常小的值給它的係數,從而中和該特定特徵的影響優勢,而基於距離的方法,如KNN,沒有這樣的內置策略,因此需要縮放。
Z-score標準化:

很多的機器學習技巧/模型(例如L1,L2正則項,向量空間模型-Vector Space Model,歐幾里得距離測量的KNN、k-均值、SVM、感知器、神經網絡、線性判別分析、主成分分析)都基於這樣的假設:所有的屬性取值都差不多是以0爲均值且取值範圍相近的,標準化數據幫助我們提高預測模型的精度。

備註:在縮放和標準化中二選一是個令人困惑的選擇,你必須對數據和要使用的學習模型有更深入的理解,才能做出決定。對於初學者,你可以兩種方法都嘗試下並通過交叉驗證精度來做出選擇。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章