信息增益生成决策树

首先查看数据集

在这里插入图片描述
我们用这个数据集来构造决策树,判断一个新的西瓜是否为好瓜。

决策树的构造

计算数据集的信息熵

首先观察数据集DD,发现数据集DD中有好瓜和坏瓜两个类别,其中好瓜占比p1=817p_1=\frac {8}{17},坏瓜占比p2=917p_2=\frac {9}{17},计算出数据集DD的信息熵为
Ent(D)=k=12pklog2pk=(817log2817+917log2917)=0.998Ent(D)=-\sum_{k=1}^{2}p_klog_2p_k=-(\frac{8}{17}log_2\frac{8}{17}+\frac{9}{17}log_2\frac{9}{17})=0.998

计算各个属性的信息增益

观察数据集可以发现,西瓜的属性有色泽、根蒂、敲声、纹理、脐部、触感,首先对色泽计算信息增益。

西瓜的色泽有青绿、乌黑和浅白三种情况,青绿记做D1D^1,乌黑记做D2D^2,浅白记做D3D^3;
对于D1D^1,其中正例占36\frac{3}{6},对于D2D^2,正例占36\frac{3}{6},分别计算它们的信息熵
Ent(D1)=(36log236+36log236)=1.000,Ent(D^1)=-(\frac{3}{6}log_2\frac{3}{6}+\frac{3}{6}log_2\frac{3}{6})=1.000,
Ent(D2)=(46log246+26log226)=0.918,Ent(D^2)=-(\frac{4}{6}log_2\frac{4}{6}+\frac{2}{6}log_2\frac{2}{6})=0.918,
Ent(D3=15log215+45log245)=0.722.Ent(D^3=-\frac{1}{5}log_2\frac{1}{5}+\frac{4}{5}log_2\frac{4}{5})=0.722.
计算色泽的信息增益
Gain(D,)=Ent(D)v=1v=3DvDEnt(Dv)=0.998(6171.000+6170.918+5170.722)=0.109\begin{aligned} Gain(D,色泽) &=Ent(D)-\sum_{v=1}^{v=3}\frac{|D_v|}{|D|}Ent(D_v)\\ &=0.998-(\frac{6}{17}*1.000+\frac{6}{17}*0.918+\frac{5}{17}*0.722)\\ &=0.109 \end{aligned}
用同样的方法可以计算出
Gain(D,)=0.143;Gain(D,)=0.141;Gain(D,)=0.381;Gain(D,)=0.289;Gain(D,)=0.006 \begin{aligned} &Gain(D,根蒂)=0.143;Gain(D,敲声)=0.141;\\&Gain(D,纹理)=0.381;Gain(D,脐部)=0.289;\\&Gain(D,触感)=0.006 \end{aligned}
其中纹理的信息增益最大,于是选择纹理作为数据集DD的划分标准,构造第一级的决策树
在这里插入图片描述
决策树算法对每一个分支结点继续进行划分,方法和上一步相同,最后生成的决策树如下
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章