第四章 决策树
4.1基本流程
1.决策树基于树结构进行决策,通过一系列的判断或“子决策”得到最终决策,其目的是产生一棵泛化能力强,即处理未见示例能力强的决策树。
2.决策树一般包含三类结点:根结点、内部结点、叶结点。根结点包含样本全集,每个结点包含
的样本集合根据属性测试的结果被划分到子结点中,叶结点则对应着决策结果。从根结点到每个个叶结点的路径对应了一个判定测试序列。
3.决策树学习基本算法
在上述算法*有三种情形会导致递归返回
(1)当前结点包含的样本全属于同一类别,无需划分;
(2)当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;
(3)当前结点包含的样本集合为空,不能划分.
在第(2)和(3)种情形下,当前结点均会被标记为叶节点,区别是前者将其类别设定为该结
点所含样本最多的类别,后者将其类别设定为其父结点所含样本最多的类别。
4.2划分选择
目的:使决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”越来越高。
1.信息增益
信息熵
信息熵是常用的度量样本集合纯度的指标,其定义为
的值越小,D的纯度越高。
信息增益
记为D中所有在属性a上取值为的样本,可根据上式计算的信息熵,再考虑到不同分支节点包含的样本数不同,还会给分支节点赋予权重,最后计算出属性a对样本集D进行划分获得的信息增益。
信息增益越大,则意味着使用属性 α 来进行划分所获得的"纯度提升"越大。ID3决策树学习算法就是以信息增益为准则来划分属性。
2.增益率
信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,可使用“增益率”来选择最优划分属性,著名的 C4.5 决策树算法就是如此。增益率定义如下:
其中
称为属性a的“固有值”,通常来说,属性a的可能取值数目越多,IV(a)的值通常越大。
由于增益率对可取纸数目较少的属性有偏好,所以C4.5 决策树算法也并不是直接使用增益率来选择最优划分属性,而是分为以下两步:
(1)从候选划分属性中找出信息增益高于平均水平的属性;
(2)从中选择增益率最高的属性作为最优划分属性。
3.基尼指数
基尼值也可度量数据集D的纯度,其定义如下:
Gini(D)反映了从数据集D中随机抽取的两个样本类别标记不一致的概率。若该概率小,那么数据集D中的样本属于同一类别的概率自然大。所以基尼值越小,数据集纯度越高。
属性a的基尼指数定义如下:
选择使得划分后基尼指数最小的属性作为划分属性。
CART决策树就是以基尼指数为准则选择划分属性。
4.3剪枝处理
剪枝是决策树学习算法抑制过拟合的主要方法,其基本策略有“预剪枝”和“后剪枝”两种。
- 预剪枝:在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;
- 后剪枝:先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点.
4.4连续与缺失值
1.连续值处理
在决策树学习中使用连续属性需要采用连续属性离散化技术,比如二分法(C4.5决策树算法中采用的机制)。
二分法
给定样本集D和连续属性a,将a在D上的n个取值按从小到大的顺序排序,然后基于划分点t可将D分为两个子集和,前者包含在属性a上取值不大于t的样本,后者包含在属性a上取值大于t的样本。二分法以每两个相邻取值的中点作为划分点,产生了一个包含n-1个元素的候选划分点集合
于是可以把这些候选划分点按照离散属性值进行考察,信息增益公式可作如下相应变换
与离散属性不同,若当前结点划分属性为连续属性,该属性还可作为其后代结点的划分属性。
2.缺失值处理
4.5多变量决策树