前言:
本次讲解参考的仍是周志华的《机器学习》,采用的是书中的样例,按照我个人的理解对其进行了详细解释,希望大家能看得懂。
1、数据集
其中{1,2,3,6,7,10,14,15,16,17}为测试集,{4,5,8,9,11,12,13}为训练集。
2、预剪枝
预剪枝是要对划分前后泛化性能进行评估。对比决策树某节点生成前与生成后的泛化性能。
(1)在未划分前,根据训练集,类别标记为训练样例数最多的类别,由于训练集中的好瓜与坏瓜是相同多的类别,均为5,因此任选其中一类,书中选择了好瓜作为标记类别。
当所有节点集中在根节点,所有训练集属于标记类别的仅有{4,5,8},因此分类正确的是3/7*100%=42.9%
编号 | 好瓜(正确结果) |
4 | 是 |
5 | 是 |
8 | 是 |
9 | 否 |
11 | 否 |
12 | 否 |
13 | 否 |
3/7 |
(2)计算训练集的信息增益,得知脐部的信息增益最大,因此按照脐部进行划分。又因为在训练集中,凹陷特征好瓜的占比多,因此凹陷划分为好瓜,稍凹特征好过占比多,因此将其标记为好瓜,因此按照脐部划分的子树结果如下:
划分后,对比结果如下:
编号 | 好瓜(正确结果) | 按照脐部划分 |
4(凹陷) | 是 | 是 |
5(凹陷) | 是 | 是 |
8(稍凹) | 是 | 是 |
9(稍凹) | 否 | 是(划分错误) |
11(平坦) | 否 | 否 |
12(平坦) | 否 | 否 |
13(凹陷) | 否 | 是(划分错误) |
正确率 | 3/7 | 5/7(精度提高,划分) |
(3)在脐部划分的基础上,进一步计算凹陷、根蒂特征下,其他属性的信息增益,根据计算结果可知,