特徵工程 歸一化 類別處理

2021-10-09 10:11:17 字數 1577 閱讀 3823

二、類別型特徵

對於乙個機器學習問題,資料和特徵往往決定了結果的上線,而模型、演算法的選擇及優化則是在逐步接近這個上限。

特徵工程,就是對原始資料進行一系列工程處理,將其提煉為特徵,做為輸入供演算法和模型使用。

特徵工程的目的是去除原始資料中的雜質和冗餘,設計更高效的特徵以刻畫求解的問題與**模型之間的關係。

資料歸一化,使各指標處於同一數值量級,使不同指標之間具有可比性。

歸一化的方法:線性函式歸一化((對應值-最小值)/(最大值-最小值));零均值歸一化(均值為0,標準差為1分布,公式:(對應值 - 均值)/標準差)。

例如:兩種數值特徵,x1~[0,5] x2~[0,10],使用隨機梯度下降時,在學習速率相同的情況下,x1比x2需要較多的迭代才能找到最優解,這個時候訓練的話,兩種特徵對結果的影響就會因為數值範圍不同而受影響。但是將兩種數值特徵歸一化到相同的數值區間後,他們的迭代速度就是一樣的,對最後結果的影響就不會因為數值範圍不同而有影響。

資料歸一化不是萬能的,通過梯度下降法求解的模型通常是需要歸一化的,包括線性模型、邏輯回歸、支援向量機、神經網路等模型。但是決策樹就不適用。比如c4.5,節點**時,選擇的依據是資訊增益比。而資訊增益比與是否歸一化無關。

類別型特徵(比如性別):原始輸入通常是字串形式,除了決策樹等少數模型能直接處理字串形式的輸入,對於邏輯回歸、支援向量機等模型,類別型特徵必須經過處理轉換成數值型特徵才能正確工作。

序號編碼

獨熱編碼

二進位制編碼

序號編碼:用於處理類別間具有大小關係的資料。比如成績:92,91,90。序號分別表示為3,2,1。轉換後依然保留了大小關係。

獨熱編碼:用於處理類別間不具有大小關係的特徵。例如:血型,一共4個取值。獨熱編碼將其轉化為乙個4維稀疏向量。a型血表示為(1,0,0,0),b型血表示為(0,1,0,0),ab型血表示為(0,0,1,0),o型血表示為(0,0,0,1)。對於類別取值較多的情況下使用獨熱編碼需要注意兩個問題:1. 使用稀疏向量來節省空間。在獨熱編碼下,特徵向量只有某一維取值為1,其他位置取值均為0,因此可以用向量的稀疏表示有效的節省空間,並且大部分的演算法均接受稀疏向量形式的輸入。2.配合特徵選擇來降低維度。高維度特徵會帶來幾方面的問題。一是在k近鄰演算法中,高維空間下兩點之間的距離很難得到有效的衡量;二是在邏輯回歸模型中,引數的數量會隨著維度的增高而增加,容易引起過擬合;三是通常只有部分維度是對分類、**有幫助,因此可以考慮配合特徵選擇來降低維度。

二進位制編碼:先用序號編碼給每個類別賦予乙個類別id,然後將類別id對應的二進位制編碼作為結果。本質上是利用二進位制對 id 進行雜湊對映,最終得到0/1特徵向量,且維數少於獨熱編碼,節省了儲存空間。例如:對四種血型的表示為:a型血是001,b型血是010,ab型血是011,o型血是100。

還有很多其他的編碼方式:如helmert contrast、sum contrast、polynomial contrast、backward difference contrast。

向量的稀疏表示: 向量(1, 0, 0, 1, 3, 0) 密集表示:[1, 0, 0, 1, 3, 0]。稀疏表示:(6, [0, 3, 4], [1, 1, 3]) 6表示向量的長度,[0, 3, 4]表示的是有值的索引組成的陣列,[1, 1, 3]表示的是不為0的值組成的陣列。

特徵工程 特徵歸一化

為了消除資料特徵之間的量綱影響,需要對特徵進行歸一化 normalization 處理,使得不同特徵處於同乙個數量級,具有可比性 2.1 線性函式歸一化 min max scaling 對原始資料進行線性變換,使結果對映到 0,1 的範圍內,實現對原始資料的等比縮放。歸一化公式 其中,x為原始資料,...

特徵工程之特徵歸一化

百面機器學習 為了消除資料特徵之間的量綱影響,使得不同指標之間具有可比性。在實際應用中,通過梯度下降法求解的模型通常是需要歸一化的。但對於決策樹模型並不適用。對原始資料進行線性變換,使結果對映到 0,1 實現對原始資料的等比縮放。公式如下 x no rm x xmi nxma x xm in x f...

資料歸一化處理 特徵歸一化

1 定義 資料的歸一化處理,即將資料統一對映到 0,1 區間上。2 方法 1 最大最小標準化 min max normalization 本歸一化方法又稱為離差標準化,使結果值對映到 0 1 之間,轉換函式如下 應用場景 在不涉及距離度量 協方差計算 資料不符合正太分布的時候,可以使用第一種方法或其...