剪枝处理
在之前的内容中提到过,决策树建立的时候停止的三个理论条件,理论上,在给定的样本集和中,一般要等到属性划分完或者样本分类完成再停止,但是这样很容易导致决策树的过拟合。剪枝是决策树对付“过拟合”的主要手段,剪枝顾名思义就是修剪决策树,减少宽度和深度,使得树不那么复杂,可以有效防止“过拟合”。
决策树剪枝的基本策略有“预剪枝”和“后剪枝”。
1. 预剪枝
预剪枝是指在决策树生成的过程中,对每个结点在划分前先进行估计,如果当前结点的划分不能带来决策树泛化性能的提升,那么停止划分并且将当前结点标记为叶子结点。
如上图所示,在对第二层划分之前,我们先将样本集合输入决策树中,计算精度,比较划分前后的精度,再决定这个结点是分支结点还是叶子结点。很明显,预剪枝使得决策树的很多分支都没有“展开”,这样不仅降低了过拟合的风险,也减少了决策树的训练时间开销和预测时间开销。但是另一方面,有些分支的当前划分虽然不能提升泛化性能,但是在其基础上进行的后续划分可能会导致性能显著提高。并且"预剪枝"使得决策树中的多个分支不得已展开,会带来欠拟合的风险。