1. 程式人生 > >通俗講清楚為什麼使用資訊熵增益比而不是資訊熵增益?

通俗講清楚為什麼使用資訊熵增益比而不是資訊熵增益?

來舉個簡單的例子:

資料集D(出去玩是標籤)
A代表屬性,A=心情、天氣


心情 天氣 出去玩
好 晴朗 玩
不好 下雨 不玩
不好 颳風 不玩


好了 ,現在建立決策樹,根節點是啥?
第一種方式(資訊熵增益):
令A=天氣
總熵S(D)= 1 3 l o

g 2 1 3 2 3 l
o g 2 2 3 = 0.918 -\frac{1}{3}log_{2}\frac{1}{3}-\frac{2}{3}log_{2}\frac{2}{3}=0.918

條件熵S(D|A)= 1 3 0 + 1 3 0 + 1 3 0 = 0 \frac{1}{3}·0+\frac{1}{3}·0+\frac{1}{3}·0=0
g(D,A)=S(D)-S(D|A)=0.918


令A=心情
總熵S(D)= 1 3 l o g 2 1 3 2 3 l o g 2 2 3 = 0.918 -\frac{1}{3}log_{2}\frac{1}{3}-\frac{2}{3}log_{2}\frac{2}{3}=0.918
條件熵S(D|A)= 1 3 0 + 2 3 0 = 0 \frac{1}{3}·0+\frac{2}{3}·0=0
g(D,A)=S(D)-S(D|A)=0.918


現在選擇哪一個呢?
顯然定不下來。

----------------計算心情的資訊熵增益率-------------
A=心情時,特徵熵= 1 3 l o g 2 1 3 + 2 3 l o g 2 2 3 = 0.918 \frac{1}{3}log_{2}\frac{1}{3}+\frac{2}{3}log_{2}\frac{2}{3}=0.918


A=天氣時,特徵熵= 3 1 3 l o g 2 1 3 = 1.5849 -3·\frac{1}{3}log_{2}\frac{1}{3}=1.5849
那麼此時特徵A的資訊熵增益率是 0.918 1.5849 = 0.58 \frac{0.918}{1.5849}=0.58


結論,可以看到,使用資訊熵增益率可以更好地對資料集進行劃分
讓劃分更加符合實際情況。
因為顯然,颳風天出不出去玩是看心情的。