4.1基本流程
决策树的生成是一个递归过程
4.2划分选择
上面流程中,关键在于第八步,而最优划分属性可以根据纯度也就是分支节点所包含的样本尽可能地同属一类。
*信息增益:
信息熵:
值越小,样本的纯度越高。其中|y|是第k类样本所占比例
信息增益:
例:
先计算出信息熵:|y|=2,所以
然后计算当前属性集合{色泽,根蒂,敲声,纹理,脐部,触感}中每一个属性的信息增益。
以色泽为例,其可能取值{青绿,乌黑,浅白}可以划分为三个子集D1{色泽=青绿},D2{色泽=乌黑},D3{色泽=浅白}。
D1中,正例比3/6,反例3/6;D2中正例6/4,反例2/6;D3中正例1/5,反例4/5.算出每一个子集的信息熵:
然后算出色泽的信息增益为:
类似的算出其他属性:
比较可得,纹理的信息增益最大,所以选择纹理作为划分属性。
然后在依次算出每一个节点各属性的信息增益,以清晰为例:
选择较大的三个钟任意作为下一个属性划分,最终得到:
*增益率
*基尼指数
基尼指数越小,纯度越高
4.3 剪枝处理
剪枝处理是为了解决过拟合得问题。基本策略有预剪枝和后剪枝。
预剪枝:在决策树生成之前预判是否会提高树的泛化能力,不能则停止划分并将当前结点标记为叶节点。
后剪枝:先生成树,然后自底向上对非叶结点进行考查,若能提升泛化能力则将该子树替换为叶结点。
判断决策树的泛化能力。采用留出法
*预剪枝
上面的为训练集,下面的为测试集。
首先,根据信息增益将脐部作为根节点。预剪枝处理:首先判断不划时,将数量多的判为划分类别也就是该节点为好瓜,根据验证集可以看出精度为:3/7=42.9%;如果划分则精度为5/7=71.4%;比较可知需要划分。
根据图4.6,对子集2按照色泽划分判为禁止,对于3的最优属性也判为禁止。而子集4属性样例相同只有坏瓜所以不划分。那么,预剪枝可能会带来欠拟合的风险。
*后剪枝
首先生成一颗完整的树
该决策树精度为42.9%
观察结点6,若将其替换为叶结点,替换后包含编号{7,15},被标记为好瓜,此时验证集精度提高到57.1%。于是后剪枝策略觉得剪枝。
然后依次考虑结点5,2,3,4得到:
4.4 连续与缺失值
一般来说采用二分法。
划分点:
划分后的信息增益:(一般选择增益最大的为最优划分点
对于属性密度,算出其信息增益为0.262,对应划分点为0.381
对于含糖率,信息增益为0.349,划分点为0.126
通过比较可得
*缺失值处理
以色泽为例,无缺失值样例集{2,3,4,6,7,8,9,10,11,12,14,15,16,17},所以该样例集的信息熵为:
依次算出色泽属性取值为青绿,乌黑,浅白的熵:
所以,色泽的信息增益为:
在整个样本集的色泽的信息增益为:
类似的算出: