博客 / 詳情

返回

人工智能與機器學習入門:基尼係數(Gini Index)和基於熵(Entropy)

在決策樹應用一文中,在構建決策分類樹應用決策算法時,介紹了基尼係數(Gini Index)和基於熵(Entropy)兩種算法。本文通過實例來更加深入的介紹一下這兩個算法。

仍然以簡單的數據為例:

id 喜歡顏色 是否有喉結 身高 性別
1 165
2 170
3 172
4 175

基尼係數

分別對 喜歡顏色 是否有喉結 求基尼係數如下:

喜歡的顏色

id 喜歡顏色 性別
1
2
3
4

對於姓別分類而言,數據如下:

id 喜歡顏色 性別
1
3

其中色的佔比為0.5色的佔比也為0.5,則特徵喜歡的顏色相對於類別的基尼係數為:1 - (0.5^2 + 0.5^2) = 0.5。①

對於姓別分類而言,數據如下:

id 喜歡顏色 性別
2
4

其中色的佔比為0.5色的佔比也為0.5,則特徵喜歡的顏色相對於類別的基尼係數為:1 - (0.5^2 + 0.5^2) = 0.5。②

最終特徵喜歡的顏色對性別類別的基尼係數為 (① + ②) / 2 = (0.5 + 0.5) / 2 = 0.5。 ③

是否有喉結

id 是否有喉結 性別
1
2
3
4

對於姓別分類而言,數據如下:

id 是否有喉結 性別
1
3

其中的佔比為1,則特徵 是否有喉結 相對於類別的基尼係數為:1 - 1^2 = 0。④

對於姓別分類而言,數據如下:

id 是否有喉結 性別
2
4

其中的佔比為1,則特徵 是否有喉結 相對於類別的基尼係數為:1 - 1^2 = 0。⑤

最終特徵是否有喉結對性別類別的基尼係數為 (④ + ⑤) / 2 = (0 + 0) / 2 = 0。⑥

決策支持

綜合③⑥得知對於性別分類而言特徵是否有喉結的基尼係數為0類別的基尼係數為0.5,所以基於當前數據集的決策時,第一個決策的特徵應該是是否有喉結,即基尼系統越小,使用此特徵進行決策效率越高。

實際的使用也是如何,通過基尼係數為0的特徵是否有喉結決策時,可以直接決策中性別是男還是女,比使用特徵喜歡顏色決策的效率更高。

基於熵(Entropy)

分別對 喜歡顏色 是否有喉結 求熵如下:

喜歡的顏色

id 喜歡顏色 性別
1
2
3
4

對於姓別分類而言,數據如下:

id 喜歡顏色 性別
1
3

其中色的佔比為0.5色的佔比也為0.5,則特徵喜歡的顏色相對於類別的熵為:$$ - (0.5*log_{2}{0.5} + 0.5*log_{2}{0.5})$$ = - (-0.5 + -0.5) = 1。➊

對於姓別分類而言,數據如下:

id 喜歡顏色 性別
2
4

其中色的佔比為0.5色的佔比也為0.5,則特徵喜歡的顏色相對於類別的熵為:
$$ - (0.5*log_{2}{0.5} + 0.5*log_{2}{0.5})$$

即: - (-0.5 + -0.5) = 1。➋

最終特徵喜歡的顏色對性別類別的熵為 (➊ + ➋) / 2 = (1 + 1) / 2 = 1。 ➌

是否有喉結

id 是否有喉結 性別
1
2
3
4

對於姓別分類而言,數據如下:

id 是否有喉結 性別
1
3

其中的佔比為1,則特徵 是否有喉結 相對於類別的熵為:$$ - (1*log_{2}{1})$$
即: - (0) = 0。➍

對於姓別分類而言,數據如下:

id 是否有喉結 性別
2
4

其中的佔比為1,則特徵 是否有喉結 相對於類別的熵為:
$$ - (1*log_{2}{1})$$

即: - (0) = 0。 = 0。➎

最終特徵是否有喉結對性別類別的熵為 (➍ + ➎) / 2 = (0 + 0) / 2 = 0。➏

決策支持

綜合③⑥得知對於性別分類而言特徵是否有喉結的熵為0類別的熵為1,所以基於當前數據集的決策時,第一個決策的特徵應該是是否有喉結,即熵越小,使用此特徵進行決策效率越高。

實際的使用也是如何,通過熵為0的特徵是否有喉結決策時,可以直接決策中性別是男還是女,比使用特徵喜歡顏色決策的效率更高。

對比

在實際的應用中,當處理類別分佈不均勻的數據集時(比如在銀行轉賬記錄,只有不到1%的記錄屬於異常轉賬,其它的都屬於正常轉賬),更推薦使用基尼係數;而當處理類別分佈相對均勻的數據集時(比如不文明駕車中人羣中中人的年齡分佈都差不多),則傾向於用熵。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.