[特徵工程系列二]顯性特徵的基本處理方法

李博Garvin發表於2018-02-11

今天接著前一篇文章講,主要分享基於顯性特徵工程的一些最基本的處理方法。關於顯性特徵是什麼,大家可以去看系列文章一。關於顯性特徵的處理方法可以做這樣的類比:不知道大家平時會不會自己做菜,我個人的話基本每週都會做。我們從菜市場買的菜,不經過處理是不能下鍋的,因為需要清洗、摘取爛的葉子、切段等操作後才可以下鍋。如果把機器學習整個流程比做炒一盤青菜的話,今天要介紹這些方式就有點像菜的前期處理過程。那我們就分類別介紹下,對於一份資料,需要針對特徵做哪些處理。

 

1.    資料清洗

主要包括兩方面,一方面是填充缺失值,因為在機器學習演算法的計算過程中會對資料進行各種運算子的計算,需要把一些空值填充,通常會被填充為0或者是對應特徵列的均值。第二方面是亂碼問題,如果是文字資料,經常會出現編碼問題,需要把資料的型別全部處理好,最好是double型的。

 

2.    去量綱

因為資料的量綱會影響到某些演算法的計算,比如有兩個欄位資料分別是一個人吃飯用了多少秒、吃了多少斤飯,那一個是時間資料,另一個是重量資料,演算法是無法感知這些量綱的影響的,所以需要一些數學手段規避。去量綱常用的方法是歸一化和標準化。

 

標準化就是每個特徵值減去均值再除以方差,表現的是資料的一個分佈情況。

歸一化是把資料的分佈強制性的限制到0和1之間,使得向量單位化。

個人認為標準化對於刻畫資料的特徵效果更好。

 

3.    資料平滑

大家可能平時會接觸到一些分佈極不均勻的資料,比如一個資料區間是[0,256],但是百分之九十以上的資料分佈在[0,10]和[200,256]這兩個區間中。對於這樣的資料可以通過取對數的方式來處理,讓資料的分佈更加平滑。或者乾脆資料分桶,去一箇中間閾值,小於128的標記為0,大於128的標記為1。

 

4.    資料去噪

很多時候資料因為採集方式可能出現各別事故,比如有的資料是靠調查問卷採集上來的,但是就有一個人不認真寫,瞎寫,造成了噪聲資料。這種跟事實偏差極大的資料,可以通過正態分佈的原理去除,因為可以設想資料的分佈大部分是比較平均的,符合正態分佈,那與均值偏差極大的部分就很有可能是噪聲,需要去除。

 

5.    降維

降維的方式很多啦,如果要講的話需要非常大的篇幅,之前在寫書的時候已經寫了一遍了~有點懶,在這裡簡單題下。其實除了PCA、LDA這兩種降維方式以外,邏輯迴歸中的正則L1也可以理解為一種降維處理。


相關文章