1、剪枝处理(Pruning)
1.1、背景概念
上文「决策树01」的学习中,我们了解了著名的3种决策树算法ID3、C4.5、CART。这3种决策树算法最根本的核心就是根据特征选择离散属性作为节点来搭建树结构,运用搭好的结构进行推理。
剪枝(pruning)则就是将搭好的决策树去掉一些「非叶节点」的过程。
1.2、作用
解决推理时出现「过拟合」的问题。
过拟合介绍:
为了尽可能的正确分类训练样本,节点划分过程不断重复,有时会造成决策树分支过多,这时候就是训练的「太好」了,以至于把训练集自身的一些特点,当作所有数据都具有的一般性质,导致出现了「过拟合」
所以我们可以通过「剪枝(pruning)」来降低过拟合风险。
「过拟合」一般会出现在CART算法中。
1.3、实施方法策略
1.3.1、预剪枝策略(prepruning)
1.3.1.1、概念
是指在决策树生成过程中,对每个节点在划分前进行估计:
若当前结点的划分不能带来决策树泛化性能的提升,则停止划分并将当前结点标记为叶节点。
如何判断决策树泛化性能是否提升?
我们在上文「模型评估与选择」中可以求得泛化性能的指标。本节我们使用「留出法」,即预留一部分数据用作「验证集」以进行性能评估。
例如:
西瓜数据集D 编号 色泽(A1) 根蒂(A2) 敲声(A3) 纹理(A4) 脐部(A5) 触感(A6) 是否好瓜(Y) x1 青绿 蜷缩 浑浊 清晰 凹陷 硬滑 是Y1 x2 乌黑 蜷缩 沉闷 清晰 凹陷 硬滑 是Y1 x3 乌黑 蜷缩 浑浊 清晰 凹陷 硬滑 是Y1 x4 青绿 蜷缩 沉闷 清晰 凹陷 硬滑 是Y1 x5 浅白 蜷缩 浑浊 清晰 凹陷 硬滑 是Y1 x6 青绿 稍蜷 浑浊 清晰