最核心的特徵工程方法-分箱演算法
分箱演算法簡介
先來講講什麼是分箱演算法,根據字面意思就是把資料按照不同的規則分到不同的箱子裡。其實分箱是特徵工程的一種,可以理解為一種連續資料變為離散資料的建模方式。
舉個直觀的例子,比如有一組連續資料,比如為25,14,68,43,63。假設資料的分箱邏輯是大於50為0,小於50為1,那麼最終資料會變成1,1,0,1,0,資料就離散化了。當然分箱有很多方式,大致作用就是把連續資料按照一定的規則離散化。
分箱演算法的好處
分箱演算法的好處等同於資料離散化的好處,大致有下面幾點:
-
可以減少過擬合的風險,因為分箱相當於對於資料去粗粒度描述
-
增加稀疏資料的概率,減少計算量,因為0的資料變多了
-
減少噪聲資料的影響,比如一組資料按照0~100均勻分佈,當資料中突然出現一個10000的資料,如果不做分箱的化會對Logistic Regression這種模型的訓練造成很大影響
-
方便特徵衍生,因為資料離散化後就可以把特徵直接相互做內積提升特徵維度
-
離散化後可以提升模型的魯棒性,比如我們有一組資料是年齡,比如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 | 極高 |
相關文章
- 特徵工程 特徵選擇 reliefF演算法特徵工程演算法
- 資料分析特徵工程方法特徵工程
- (特徵工程實戰)ML最實用的資料預處理與特徵工程常用函式!特徵工程函式
- [特徵工程系列二]顯性特徵的基本處理方法特徵工程
- 聊聊基於Alink庫的特徵工程方法特徵工程
- 機器學習中,有哪些特徵選擇的工程方法?機器學習特徵
- LOAM演算法核心解析之特徵點的提取(一)演算法特徵
- 特徵工程特徵工程
- 特徵工程之特徵表達特徵工程
- 特徵工程之特徵選擇特徵工程
- 機器學習 | 特徵工程機器學習特徵工程
- 機器學習——特徵工程機器學習特徵工程
- 特徵工程梗概特徵工程
- 機器學習特徵工程機器學習特徵工程
- 特徵工程思路特徵工程
- 08 特徵工程 - 特徵降維 - LDA特徵工程LDA
- 特徵工程之特徵預處理特徵工程
- 機器學習 特徵工程之特徵選擇機器學習特徵工程
- 資料降維和特徵工程方法綜述特徵工程
- [特徵工程系列三]顯性特徵的衍生特徵工程
- 量化投資中的特徵工程特徵工程
- 機器學習之特徵工程機器學習特徵工程
- [特徵工程] encoding特徵工程Encoding
- [特徵工程系列一] 論特徵的重要性特徵工程
- 特徵工程:互動特徵與多項式特徵理解特徵工程
- 面向機器學習的特徵工程一、引言機器學習特徵工程
- 機器學習2-特徵工程機器學習特徵工程
- 機器學習之特徵工程(一)機器學習特徵工程
- 特徵工程系列:(三)特徵對齊與表徵特徵工程
- 特徵工程:基於梯度提升的模型的特徵編碼效果測試特徵工程梯度模型
- sift、surf、orb 特徵提取及最優特徵點匹配ORB特徵
- 資料準備指南:10種基礎特徵工程方法的實戰教程特徵工程
- 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(一)特徵工程
- 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(二)特徵工程
- 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(三)特徵工程
- 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(四)特徵工程
- 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(五)特徵工程
- 用Dask並行化特徵工程!並行特徵工程