連續特徵離散化常用方法

無監督方法

1、等寬分箱法

比如我們的特徵數據在0-100,之間,等寬分成10份,分別爲[0-10],[11-20],...,[90-100]

假設有個數據值爲11,那麼其對應的one-hot向量爲[0,1,0,0,0,0,0,0,0,0]

等寬分箱法的缺陷:假設有個別特徵值過大,那麼和上面分同樣多份寬度會拉長,實例就主要集中在前面的箱體中。

那麼我們設立閾值之外的一等份。此時我們可以分成[0-10],[11-19],...,[90-99],[100, +∞)增加一個[100, +∞)分段。

2、等頻分箱法

區間的邊界值要經過選擇,使得每個區間包含大致相等的實例數量。比如說 N=10 ,每個區間應該包含大約10%的實例。

監督方法

卡方分箱

卡方分箱包括兩個階段:初始化階段和自底向上的合併階段。

下面的示例按照下圖實例說明

1、初始化階段
1)、設置一個卡方閾值。通過自由度和置信度計算出來。比如下面實例中,對相鄰的屬性計算卡方值:

自由度:(2行-1)*(3列-1)=2

置信度:90%(10%顯著性水平)

計算得卡方值爲4.6

2)、首先按照屬性值(特徵值)的大小進行排序,然後每個屬性值單獨作爲一組。

2、合併階段

1)、對每一對相鄰的組,計算卡方值。

2)、根據計算的卡方值,對其中最小的一對鄰組合併爲一組。(低卡方值表明它們具有相似的類分佈)。

3)、不斷重複(1),(2)直到計算出的卡方值都不低於事先設定的閾值,或者分組數達到一定的條件(如最小分組數5,最大分組數8)。

卡方相關概念計算可參考:
卡方檢驗

3、生成one-hot(個人想法)

根據分箱後的結果生成one-hot的向量,樣本特徵值對比分箱結果劃分到one-hot向量裏的對應位置。

注:

1、ChiMerge算法推薦使用0.90、0.95、0.99置信度,最大區間數取10到15之間.

2、也可以不考慮卡方閾值,此時可以考慮最小區間數或者最大區間數。指定區間數量的上限和下限,最多幾個區間,最少幾個區間。

3、對於類別型變量,需要分箱時需要按照某種方式進行排序。


圖是著名的鳶尾花數據集sepal-length屬性值的分組及相鄰組的卡方值。最左側是屬性值,中間3列是class的頻數,最右是卡方值。這個分箱是以卡方閾值1.4的結果。

下面分箱是以卡方閾值4.6的結果

1R方法

最小熵法分箱

最小熵法分箱都是類ID3決策樹的方法:首先對某個特徵所有值進行排序,通過遍歷該特徵所有的值(離散值,連續值需要處理成離散值)。計算信息增益,選擇信息增益大的值作爲一個分斷點,然後這個斷點將數據分成兩部分,然後分別對分割的兩部分依次進行上面的操作,直到達到停止條件。

一般來說,停止準則是當得到的每個區間中的類標籤都是一樣。這樣將導致到的分割點太多,過擬合。我們可以設置一些停止閾值,比如當信息增益小於閾值就停止等。

通過ID3算法衍生出D2和MDLP(minimum description length principle,最小描述長度準則)基於熵的離散化方法。

D2

D2的迭代類似ID3,它的停止條件爲:

  • 1、如果切分後的樣本數少於14
  • 2、分割的區間大於8
  • 3、切分的樣本都屬於同一類

MDLP

MDLP的過程和ID3類似,但是它有特殊的停止方法。一般的,他設置兩中停止方法:

  • 1、設置迭代的深度
  • 2、
    gain(1/N)log2(N1)+(1/N)[log2(3k2)(kEntropy(S)k1xEntropy(S1)k2xEntropy(S2)]gain \geq (1/N) * log_2(N-1)+(1/N) * [ log_2 (3^k-2) - (k*Entropy(S) – k_1 x Entropy(S1) – k_2 x Entropy(S2) ]

這個公式的解釋可參考Discretizing a continuous variable using Entropy,實現可參考代碼
*

MDLP是有論文依據的,有興趣點擊Multi-Interval Discretization of Continuous-Valued Attributes for Classification Learning 閱讀

它的實現及使用可以參考:hlin117/mdlp-discretization

有些文章說,MDLP是最好的監督離散化方法。

如果需要轉化成one-hot格式,我們可以使用獲得到的分割點對應的區間映射成one-hot向量。

其他

數據挖掘過程中的離散方法

非監督

  • 等頻率、等寬、等深、K均值

分箱binning

  • Equal width or frequency
  • 1R

熵entropy

  • ID3 type
  • D2
  • Ent-MDLP
  • Mantaras distance

獨立性dependency

  • Zeta

精確度accuracy

  • adaptive quantizer

參考

特徵工程之分箱

連續特徵離散化的方法

Python評分卡建模—卡方分箱

金融風控–>申請評分卡模型–>特徵工程(特徵分箱,WOE編碼)

連續特徵離散化方法綜述

MDLP 特徵離散化
Discretization: An Enabling Technique

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章