資料探勘(Data Mining) ID3決策樹(Decision Tree)怎麼計算?
看到都是類別資料,在R裡面用rpart就可以了!
決策樹是ID3演算法 (好像是澳洲昆士蘭大學一個教授研究出來的)
這堂課是
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))]特色:
- I(1,1), I(2,2), ...等,只要相同,因為亂度最大,所求=1
- I(1,0), I(0,1), ...等,只要有一邊是0,所求=0
- I(1,2) = I(2,4) = ...等,呈現倍數關係,答案都一樣
- I(1,3) = I(3,1) = ...等,顛倒也是一樣,答案都一樣
分為訓練測試資料集:
居住區域
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
註:最亂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(性別) = 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(年紀|市區) = 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
E(性別|市區) =0.6886
沒有留言:
張貼留言