首先查看數據集
我們用這個數據集來構造決策樹,判斷一個新的西瓜是否爲好瓜。
決策樹的構造
計算數據集的信息熵
首先觀察數據集D,發現數據集D中有好瓜和壞瓜兩個類別,其中好瓜佔比p1=178,壞瓜佔比p2=179,計算出數據集D的信息熵爲
Ent(D)=−k=1∑2pklog2pk=−(178log2178+179log2179)=0.998
計算各個屬性的信息增益
觀察數據集可以發現,西瓜的屬性有色澤、根蒂、敲聲、紋理、臍部、觸感,首先對色澤計算信息增益。
西瓜的色澤有青綠、烏黑和淺白三種情況,青綠記做D1,烏黑記做D2,淺白記做D3;
對於D1,其中正例佔63,對於D2,正例佔63,分別計算它們的信息熵
Ent(D1)=−(63log263+63log263)=1.000,
Ent(D2)=−(64log264+62log262)=0.918,
Ent(D3=−51log251+54log254)=0.722.
計算色澤的信息增益
Gain(D,色澤)=Ent(D)−v=1∑v=3∣D∣∣Dv∣Ent(Dv)=0.998−(176∗1.000+176∗0.918+175∗0.722)=0.109
用同樣的方法可以計算出
Gain(D,根蒂)=0.143;Gain(D,敲聲)=0.141;Gain(D,紋理)=0.381;Gain(D,臍部)=0.289;Gain(D,觸感)=0.006
其中紋理的信息增益最大,於是選擇紋理作爲數據集D的劃分標準,構造第一級的決策樹
決策樹算法對每一個分支結點繼續進行劃分,方法和上一步相同,最後生成的決策樹如下