@nearby
2018-05-19T09:16:59.000000Z
字数 1634
阅读 1039
西瓜书 机器学习

当前样本集合D中第K类样本所占的比例为,k=1,2,3...,N,信息熵表示成:
利用属性a对样本集D进行划分前后的信息熵之差,叫做信息增益,表示如下:
C4.5决策树算法采用增益率来选取最优划分的属性。基本思想:从候选划分属性中找出信息增益高于平均水平的属性,再从中选择信息增益率最高的。
CART树使用“基尼指数”选择最优划分属性。
作用:防止“过拟合”
“剪”的判决:剪枝后能否对模型性能进行提升。
方法:
- 预剪枝(生成过程中,可能会造成欠拟合);
- 后剪枝(生成后,自底向上,泛化能力优于预剪枝,但时间开销大)
策略:二分法对连续属性进行划分,划分阈值取属性所有取值从小到达排列后两两的均值。
特点:当前结点划分属性为连续型,该属性仍可作为后代结点的划分属性,划分阈值可变。
现实数据中,经常能碰到缺失值,遇到这类情况,一般的做法是进行缺失值的填充(用均值、0、1,或者对缺失属性根据未缺失的样本构建一个预测模型,对缺失值进行预测)。
在决策树算法中,可以不对这些缺失值进行填充处理,但需要解决如下问题:
- 有缺失值的情况下,如何选择最优划分属性?
- 给定划分属性,样本在属性上值缺失,如何对样本进行划分?
针对问题1,可仅利用未缺失该属性值的样本计算信息增益,判断属性的优劣;
针对问题2,将有缺失值的样本划入所有的子结点,样本权重调整为各个子结点样本集样本数占父结点的比例。
C4.5决策树算法利用了以上方案。因此,如果分类模型是C4.5,可以不对缺失值进行填充处理。
把每个属性看做坐标空间的一个坐标轴,d个属性描述的样本对应着d维空间的一个点,而分类就是在坐标空间中找不同样本的分类边界。
上图决策树的分类边界每一段都与坐标轴平行,使得结果有好的可解释性。
如果样本的属性很多,此时的分类边界不再是简单的平行坐标轴的平面。
在多变量决策树中,非叶节点不再是某个属性,而是属性的线性组合,学习的过程是建立一个合适的线性分类器。

总结:对书中的西瓜例子求解信息增益的过程跟着算了一遍,比较容易弄懂决策树学习的过程。虽然平时因为有sklearn和其他的包,封装了决策树的学习过程,也不会实际去求解,但对原理的理解还是很有用的。特别是后面缺失值的处理,才知道决策树是可以有含有缺失值的样本。