**:
資訊熵很亮的是在你知道乙個事件的結果後,平均會帶給你多大的資訊量,當事件的不確定性越大,那麼要搞清它所需要的資訊量也就越大,也就是資訊熵越大,是無序性,不確定性的度量指標。
資訊熵的計算:
-p[i]logp[i],底數為2
public static double calcentropy(int p) for (int i = 0; i < len; i++) return entropy; }給定乙個樣本陣列,先一輪迴圈計算出樣本總量,後面即可得出每個樣本的概率,就可以套用公式計算了
資訊增益就是資訊熵的變化值,資訊熵下降最快的節點就可以作為決策樹的根節點,縮短樹的高度
乙個屬性a相對樣本集s的資訊增益為:
gain(s,a) = h(s) – a屬性為已知值的加權資訊熵
outlooktemperaturehumiditywindyplay
sunny
hothigh
false
nosunny
hothigh
true
noovercast
hothigh
false
yesrainy
mild
high
false
yesrainy
cool
normal
false
yesrainy
cool
normal
true
noovercast
cool
normal
true
yessunny
mild
high
false
nosunny
cool
normal
false
yesrainy
mild
normal
false
yessunny
mild
normal
true
yesovercast
mild
high
true
yesovercast
hotnormal
false
yesrainy
mild
high
trueno
如上圖資料
所示,根據該資料
,構造出一顆決策樹,將來可以根據不同的天氣情況決定是否出去玩play
先計算在不知任何天氣情況下的資訊熵,直接看play列,yes的有9個,no的有5,所以套用公式計算資訊熵
h = -9/14*log(9/14)-5/14*log(5/14) = 0.940
然後依次計算每個屬性的資訊熵,先看outlook屬性,當outlook為已知值的時候,計算該資訊熵
1、當outlook=sunny時,看play列,yes的有2個,no的有3個,計算資訊熵為
h = -2/5*log(2/5)-3/5*log(3/5) = 0.971
2、當outlook=overcast時,看play列,yes的有4,no的有0,計算資訊熵
h = 0
3、當outlook=rainy時,看play列,yes的有3個,no的有2個,計算資訊熵
h = 0.971
再看當outlook為sunny,overcast,rainy時的概率分別為5/14,4/14,5/14
所以當outlook為已知值的時候,資訊熵為5/14*0.971+4/14*0+5/14*0.971 = 0.693
所以得出outlook屬性的資訊增益gain=0.940-0.693 = 0.247
同理我們再計算 temperature, humidity, windy的資訊增益分別為 0.029, 0.152, 0.048
由此得知,資訊增益最大的屬性為outlook,所以選擇該節點為決策樹的根節點
outlooktemperaturehumiditywindyplay
yesno
yesno
yesno
yesno
yesno
sunny23
hot2
2high34
false62
95overcast40
mild42
normal61
trur33
rainy32
cool31
分支overcast的所有樣例都是正例,所以成為目標
分類為yes的葉結點。 轉
載請註明:神刀安全網 » 機器學習決策樹中熵和資訊增益的計算,構造決策樹 id3
決策樹 資訊熵增益
from math import log import operator defcreatedateset dataset 青年 否 否 一般 否 青年 否 否 好 否 青年 是 否 好 是 青年 是 是 一般 是 青年 否 否 一般 否 中年 否 否 一般 否 中年 否 否 好 否 中年 是 是 ...
最大資訊熵增益 決策樹與資訊增益
今天我們開始介紹決策樹。它既可以用於分類,也可以用於回歸。這裡我們主要介紹更加常見的分類用法。概念決策樹,顧名思義,它的形狀類似於一棵樹,我們可以簡單把它畫出來 如上圖,最上面的乙個點我們叫它根節點 root node 最下面不再進行分類的點我們叫它葉節點 leaf node 決策樹的分類過程是這樣...
決策樹資訊增益
決策樹和整合演算法都是樹模型 決策樹 從根節點一步步走到葉子節點,所有的資料都會落到葉子節點,既可以做分類也可以做回歸。一顆樹有三種節點組成,根節點,中間幾點,葉子節點。根節點是第乙個選擇節點,也是最重要的乙個選擇特徵。葉子節點是存放最終的結果。決策樹的訓練和測試 訓練是建立一棵樹。測試是讓資料從根...