總網頁瀏覽量

星期四, 12月 13, 2018

資料探勘(Data Mining) ID3決策樹(Decision Tree)怎麼計算?

資料探勘(Data Mining) ID3決策樹(Decision Tree)怎麼計算?


看到都是類別資料,在R裡面用rpart就可以了!
決策樹是ID3演算法 (好像是澳洲昆士蘭大學一個教授研究出來的)

圖略醜,因為怕有版權問題哈哈ZZ


這堂課是
INTRODUCTION TO DATA SCIENCE AND BIG DATA課堂筆記



log對數值 行前說明:


log(10)2(=0.3010)、log(10)3(=0.4771)、log(10)5(=0.6989)、log(10)7(=0.8450)

熵(Entropy)怎麼算?

I(p,n) = -[(p/(p+n)*log(2)p/(p+n))+(n/(p+n)*log(2)n/(p+n))]

特色:

  1. I(1,1), I(2,2), ...等,只要相同,因為亂度最大,所求=1
  2. I(1,0), I(0,1), ...等,只要有一邊是0,所求=0
  3. I(1,2) = I(2,4) = ...等,呈現倍數關係,答案都一樣
  4. I(1,3) = I(3,1) = ...等,顛倒也是一樣,案都一樣
分為訓練測試資料集:
  • 訓練→ID: 1~10
  • 測試→ID: 11~14

解決左邊
第一輪

居住區域
E(居住區域) = 4/10*I(1,3)+2/10*I(2/10)+4/10*I(3,1)=0.6489 (屬於有點亂!)
註:最亂1,中間0.5,最不亂0

年紀
E(年紀) = 3/10*I(1,2)+3/10*I(2,1)+4/10*I(3,1)=0.8754 (非常亂...)

婚姻
E(婚姻) = 5/10*I(2,3)+5/10*I(4,1)=0.8463

性別
E(性別) = 7/10*I(5,2)+3/10*I(1,2)=0.8796

→找到最低的居住區域當作決策樹的根。

第二輪

年紀
E(年紀|市區) = 2/4*I(0,2)+1/4*I(0,1)+0/4*I(1,0)=0 (NICE!)

婚姻
E(婚姻|市區) = 3/4*I(0,3)+1/4*I(1,0)=0 (NICE!)

性別
E(性別|市區) =0.6886

→出現兩個最低,必須畫兩個決策樹,進行比較。

→右邊的概念相同,因為ID3用過的就不會再用了!

兩個決策數用測試資料集進行PK:


選手一(左邊最後用年紀分的)
11. X
12. O
13. O
14. O
正確率:75%
錯誤率:25%
Precision:2/(2+0)=100%
Recall:2/(2+1)=67%

選手二(左邊最後用婚姻分的)
11. O
12. O
13. O
14. O
正確率:100%
錯誤率:0%
Precision:3/(3+0)=100%
Recall:3/(3+0)=100%

→所以選手二獲勝!!!

上完這堂還真的蠻開心能懂決策樹的形成,蒸蒸日上~~~

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...