決策樹中熵和資訊增益的計算

2021-06-28 01:07:37 字數 2569 閱讀 9187

**:

資訊熵很亮的是在你知道乙個事件的結果後,平均會帶給你多大的資訊量,當事件的不確定性越大,那麼要搞清它所需要的資訊量也就越大,也就是資訊熵越大,是無序性,不確定性的度量指標。

資訊熵的計算:

-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 決策樹的分類過程是這樣...

決策樹資訊增益

決策樹和整合演算法都是樹模型 決策樹 從根節點一步步走到葉子節點,所有的資料都會落到葉子節點,既可以做分類也可以做回歸。一顆樹有三種節點組成,根節點,中間幾點,葉子節點。根節點是第乙個選擇節點,也是最重要的乙個選擇特徵。葉子節點是存放最終的結果。決策樹的訓練和測試 訓練是建立一棵樹。測試是讓資料從根...