參考書籍:機(jī)器學(xué)習(xí)--周志華 / 數(shù)據(jù)挖掘?qū)д?/ 統(tǒng)計(jì)學(xué)習(xí)方法
參考代碼鏈接:https://blog.csdn.net/weixin_40683253/article/details/81941583#commentsedit
博主還非常nice地給我發(fā)了數(shù)據(jù)集,感謝!
1. 概念
決策樹(shù)是基于樹(shù)結(jié)構(gòu)來(lái)進(jìn)行決策的。根結(jié)點(diǎn)包含樣本全集,葉結(jié)點(diǎn)對(duì)應(yīng)于決策結(jié)果。其他的每個(gè)結(jié)點(diǎn)對(duì)應(yīng)于一個(gè)屬性測(cè)試,每個(gè)結(jié)點(diǎn)包含的樣本集合根據(jù)屬性測(cè)試的結(jié)果被劃分到子節(jié)點(diǎn)中。
屬性:{色澤,根蒂,敲聲,紋理,臍部,觸感}
屬性值: eg:色澤={青綠,烏黑,淺白}
2. 最優(yōu)劃分屬性選擇算法
信息熵(information entropy):D的信息熵:
為當(dāng)前樣本集合D中第
類樣本所占的比例。
的值越小,則D的純度越高。
ID3算法:以信息增益(information gain)為準(zhǔn)則來(lái)選擇劃分屬性。
屬性a對(duì)樣本集D進(jìn)行劃分所獲得的信息增益:
表示D中所有在屬性a上取值為
的樣本。
信息增益越大,使用屬性a來(lái)進(jìn)行劃分所獲得的純度提升越大。選取信息增益最大的屬性作為劃分屬性。
C4.5算法:以增益率則來(lái)選擇最優(yōu)劃分屬性(先從候選劃分屬性中找出信息增益高于平均水平的屬性,再?gòu)闹羞x擇增益率最高的)
增益率:
CART算法:以基尼指數(shù)(來(lái)選擇劃分屬性。
基尼值:
3. python實(shí)現(xiàn)








完整代碼:





