1. 程式人生 > >機器學習特徵工程之特徵預處理

機器學習特徵工程之特徵預處理

特徵預處理是什麼?

通過特定的統計方法(數學方法)講資料轉換成演算法要求的資料。

數值型資料:

  1. 歸一化
  2. 標準化
  3. 缺失值

    類別型資料:one-hot編碼
    時間型別:時間的切分

特徵選擇的意義

在對資料進行異常值、缺失值、資料轉換等處理後,我們需要從當前資料集中選出有意義的特徵,然後輸入到演算法模型中進行訓練。

對資料集進行特徵選擇主要基於以下幾方面的考慮:

1.冗餘的特徵會影響阻礙模型找尋資料潛在的規律,若冗餘的特徵過多,還會造成維度容災,佔用大量的時間空間,使演算法執行效率大打折扣。

2.去除不相關的特徵會降低學習任務的難度,保留關鍵的特徵更能直觀的看出資料潛在的規律。

那麼,該如何進行特徵選擇呢?通常,要從兩方面考慮來選擇特徵:

1.特徵是否具有發散性:
如果一個特徵不發散,例如方差接近於0,也就是說樣本在這個特徵上基本上沒有差異,這個特徵對於樣本的區分並沒有什麼用。

2.特徵與目標的相關性:
如果一個特徵不發散,例如方差接近於0,也就是說樣本在這個特徵上基本上沒有差異,這個特徵對於樣本的區分並沒有什麼用。

根據特徵選擇的標準,又能分為filter、wrapper、embedded三種方法。

歸一化

歸一化

Scikit-learn歸一化處理API:sklearn。preprocession.MinMaxScaler

這裡寫圖片描述

歸一化步驟:
1.例項化MinMaxScalar
2.通過fit_transform轉換

歸一化總結

在特定場景下最大值和最小值是變化的,另外,最大值個最小值非常容易受異常點影響,所以歸一化方法的穩定性較差,只適合傳統精確小資料場景。

標準化

特點:通過對原始資料進行變換把資料變化到均值為0,標準差為1範圍內。

這裡寫圖片描述

結合歸一化來談標準化

這裡寫圖片描述

大多數使用標準化。
標準化API:scikit-learn.preprocessing.StandardScaler
目的:縮放資料。

StandardScaler語法

這裡寫圖片描述

標準化步驟:
1.例項化StandardScaler
2.通過fit_transform轉換