最核心的特徵工程方法-分箱演算法

李博Garvin發表於2019-03-22

分箱演算法簡介

先來講講什麼是分箱演算法,根據字面意思就是把資料按照不同的規則分到不同的箱子裡。其實分箱是特徵工程的一種,可以理解為一種連續資料變為離散資料的建模方式。

 

舉個直觀的例子,比如有一組連續資料,比如為25,14,68,43,63。假設資料的分箱邏輯是大於50為0,小於50為1,那麼最終資料會變成1,1,0,1,0,資料就離散化了。當然分箱有很多方式,大致作用就是把連續資料按照一定的規則離散化。

 

分箱演算法的好處

 

分箱演算法的好處等同於資料離散化的好處,大致有下面幾點:

  1. 可以減少過擬合的風險,因為分箱相當於對於資料去粗粒度描述

  2. 增加稀疏資料的概率,減少計算量,因為0的資料變多了

  3. 減少噪聲資料的影響,比如一組資料按照0~100均勻分佈,當資料中突然出現一個10000的資料,如果不做分箱的化會對Logistic Regression這種模型的訓練造成很大影響

  4. 方便特徵衍生,因為資料離散化後就可以把特徵直接相互做內積提升特徵維度

  5. 離散化後可以提升模型的魯棒性,比如我們有一組資料是年齡,比如A30歲、B50歲,到了第二年A變成31歲,B變成51歲,所有資料都變了理論上要更新模型。但是如果資料分箱了之後,比如分箱邏輯是小於40歲為0,大於40歲為1,則第一年和第二年資料沒有變化,模型也不用變

 

分箱方法

 

分箱有n種方法,我這裡舉兩個最簡單的例子等頻分箱和等距分享。假設資料集,要分成3份:

 

50,42,63,4,104,87

 

  • 等距分箱:先把資料排序,變成4,42,50,63,87,104。然後求區間w=(104-4)/3=33.3333,大致每隔33就是一個箱。於是4是第一個。42,50,63是第二個。87,104是第三個箱。最終資料就變成1,1,1,0,2,2

  • 等頻分箱:保證每個箱子裡的資料個數相同,也是先排序,變成4,42,50,63,87,104。4,42是第一個箱。50,63是第二個。87,104是第三個。最終資料變成:1,0,1,0,2,2

 

分箱效果驗證規則

 

資料分箱之後怎麼驗證分箱的效果呢,這種基於每個特徵的資料歸類驗證問題一般都可以藉助資訊熵的方式。常規的方法有WOE和IV。

 

WOE(Weight of evidence),看下公式:

#good(i)表示每組中標籤為good的數量,#good(T)為good的總數量。我們計算WOE的目的其實是通過WOE去計算IV,從而達到預測的目的。後面IV計算中,會通過相減後相乘的方式把負號給抵消掉。所以不管誰做分子,誰做分母,最終的IV預測結果是不變。

 

IV可用來表示一個變數的預測能力。

IV 預測能力
<0.03 無預測能力
0.03~0.09
0.1~0.29
0.3~0.49
>=0.5 極高
 

 

相關文章