1. 程式人生 > >機器學習不得不知的的特徵工程

機器學習不得不知的的特徵工程

Feature engineering 

本文開始之前,著重強調“特徵工程的重要性:資料決定演算法的上限”。

(圖片與本文無關,好看點個贊?)

何為特徵工程

  1. 特徵使用方案

    1)要實現我們的目標需要哪些資料

    2)可行性評估:獲取難度,覆蓋率,準確率

  2. 特徵獲取方案

    1)如何獲取這些特徵?

    2)如何儲存,什麼樣的形式儲存

  3. 特徵清洗

    1)特徵清洗,異常樣本的清晰

    2)取樣資料均衡問題

  4. 特徵預處理

    1)對於單個特徵:歸一化,標準化,離散化,dummy coding,缺失值填充,資料變換(log,指數)

    2)對於多個特徵:

    降維(PCA,LDA)

    特徵選擇:Filter(相關係數,卡方檢驗,互資訊)、wrapper建立新的特徵

不同型別資料的特徵處理

數值型:

  • 進行歸一化的操作;連續值離散化(分割槽間)

類別型:

  • 編碼,dummy coding或者叫 one hot 。0 0 1 ,1 0 0,0 1 0  。

時間類:

  • 間隔型,為一個區間的哪個階段,如“早,中,晚”。“放假前”,“放假後”。

文字型:

  • 詞頻,詞向量。

統計型:

  • 和業務場景很接近,描述資料所處的位置。

異常資料常用處理方法

缺失值:

  • 當缺失值很多,這個特徵可以不要,當缺失值相對多,可以把是否缺失做一個特徵,當缺失值比較少可以選擇眾數或者平均值。還可以通過機器學習的方法來填充缺失值,比如根據相似性進行填充K鄰近。

特徵數值分佈長尾:

  • 離散化資料,分割槽間處理。

有偏度的特徵:

  • 使用log,倒數,使資料儘可能的呈現正太分佈。

異常點:

  • 判斷異常點是採集的錯誤,還是不具有普適性資料。

資料縮放的手段

標準化:

 用原始資料減去均值,再處以標準差。

歸一化:

原始資料減去最小值,除以最大值與最小值的差。

"用同一把尺子量資料"。

-end-