首先查看数据集

我们用这个数据集来构造决策树,判断一个新的西瓜是否为好瓜。
决策树的构造
计算数据集的信息熵
首先观察数据集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的划分标准,构造第一级的决策树

决策树算法对每一个分支结点继续进行划分,方法和上一步相同,最后生成的决策树如下
