1. 程式人生 > >決策樹算法——計算步驟示例

決策樹算法——計算步驟示例

數據集 tro 1-1 inner 屬性 其他 一個 tables 對數

使用決策樹算法手動計算GOLF數據集 技術分享圖片

步驟:

1、通過信息增益率篩選分支。

(1)共有4個自變量,分別計算每一個自變量的信息增益率。

首先計算outlook的信息增益。outlook的信息增益Gain(outlook)=

技術分享圖片

其中,v是可能取值的集合(本例中,outlook可以取3個值),D表示整個數據集,Dv是outlook取值為v的樣本集合,而|*|表示數據集的大小(其中的樣本數量)。

其中Entropy(PlayGolf? in D)為最終因變量PlayGolf的信息熵值。計算過程為:

PlayGolf共有2種結果:YES(9個觀測值)、NO(5個觀測值)

YES出現的概率為9/14,NO出現的概率為5/14。

根據熵值計算公式:

技術分享圖片

其中c=2(PlayGolf有2個取值YES和NO)。

p1=9/14,p2=5/14.

技術分享圖片

其次計算根據outlook對數據進行分類,加權計算PlayGolf的信息熵

技術分享圖片

中D表示了1-14全部的PlayGolf數值,但是可以根據outlook的取值不同將1-14行數據,分為3類:Sunny、Overcast、Rainy。

D1表示了為Sunny的PlayGolf的數值。

技術分享圖片

計算D1的中playgolf的信息熵。同理計算D2,D3數據集的PlayGolf信息熵。

技術分享圖片

技術分享圖片

計算屬性Outlook的信息增益Gain(Outlook)=0.940-0.694=0.246

信息增益率為:技術分享圖片

Outlook的信息增益已經有了,現在計算Outlook的熵。

技術分享圖片

計算Outlook的信息增益率

技術分享圖片

同理計算其他屬性的信息增益率。

決策樹算法——計算步驟示例