天天看點

Class Confidence Proportion---不平衡資料集的決策樹算法

Class Confidence Proportion不平衡資料集的決策樹算法

Class Confidence Proportion算法是一種基于C4.5算法改進而來、處理不平衡資料集的決策樹劃分算法。由悉尼大學的LiuWei博士在2010年發表在SIAM,《A Robust Decision Tree Algorithm for Imbalanced Data Sets》。

其基本思想是通過提出一種改進的置信度Class Confidence代替原有的置信度,将資料集中的各屬性值的數量轉換成各屬性值所占比例,進而消除了資料不平衡對屬性劃分帶來的影響。

算法簡介

對決策樹也不了解的同學可以點選這裡從零開始的機器學習生活—決策樹

C4.5算法

CCP算法是一種基于C4.5的改進算法,C4.5算法使用增益率選擇最優劃分屬性,增益率的定義如下:

Class Confidence Proportion---不平衡資料集的決策樹算法

其中IV(a)屬性a的固有值,屬性a的可能取值數量越大,IV(a)越大,IV(a)的表達式如下:

Class Confidence Proportion---不平衡資料集的決策樹算法

通過計算所有屬性的增益率,一種增益率最大的屬性進行劃分。

CCP算法

然而使用增益率劃分屬性,對不平衡資料的處理并不好,一些高置信度的規則對劃分來說可能并不重要,一些重要的規則卻沒有高置信度。是以在處理不平衡資料集時需要引入新的處理方式。

下面表格是使用ID3、C4.5等傳統的基于關聯規則分類的資料處理情況

Class Confidence Proportion---不平衡資料集的決策樹算法
  • FN:False Negative,被判定為負樣本,但事實上是正樣本。
  • FP:False Positive,被判定為正樣本,但事實上是負樣本。
  • TN:True Negative,被判定為負樣本,事實上也是負樣本。
  • TP:True Positive,被判定為正樣本,事實上也是證樣本。
Class Confidence Proportion---不平衡資料集的決策樹算法

傳統的決策樹分類劃分球置信度如下:

Class Confidence Proportion---不平衡資料集的決策樹算法

改進之後使用Class Confidence Proportion代替置信度,将原本的a,b,c,d用tpr/tpr+fnr、fnr/tpr+fnr、fpr/fpr+tnr、tnr/fpr+tnr代替,将數值轉換成占positive/negative預測的比例。這樣,無論是positive數量更大,還是negative數量更大,都不影響屬性劃分的結果。

Class Confidence Proportion---不平衡資料集的決策樹算法
Class Confidence Proportion---不平衡資料集的決策樹算法

代入資料,用下面的公式計算出Gain(D,a)。

Class Confidence Proportion---不平衡資料集的決策樹算法
Class Confidence Proportion---不平衡資料集的決策樹算法

剩下的工作和C4.5計算方式相同了,使用求出來的Gain(D,a),并求出IV(a)即可計算出增益率Gain_ratio(D,a)。

值得注意的是,C4.5算法不是直接選擇增益率最大的屬性進行劃分,而是先從候選劃分屬性中找出資訊增益高于平均水準的屬性,再從中選擇增益率最高的。

Class Confidence Proportion---不平衡資料集的決策樹算法
Class Confidence Proportion---不平衡資料集的決策樹算法

以上,對C4.5進行改進的CCP算法就介紹完了。

(如果有人看的話,我後續把代碼給補上)

繼續閱讀