剪枝 Pruning

剪枝是让决策树停止分支的一种方法,其被用于解决决策树出现过拟合问题的处理,主要是简化决策树。

剪枝的原因是由于决策树学习过程中,为了尽可能正确分类训练样本,会不断地生成结点,这样会造成决策树分支过多,从而降低效率,此时就需要进行剪枝操作以简化决策树。

剪枝的意义

决策树算法需要确定树的最佳大小,太大的树会出现过拟合,且很难推广到新样本,同时小树可能无法捕获有关样本空间的结构信息。

树算法的停止时间也很难判断,因为无法判断单个节点是否会降低错误率,其中最常见的策略是增长树,直到每个节点包含少量实例,后利用剪枝来删除不必要的节点。

剪枝的思路及方法

剪枝的准则在于如何确定决策树的规模:

  • 使用训练集和验证集,评估剪枝方法在修剪结点上的作用;
  • 利用所有的训练集进行训练,但用统计测试来判断修剪特定结点的方法,对于改善训练集合外数据性能的作用;
  • 使用明确的标准来衡量训练样例和决策树的复杂度。

剪枝的具体操作为: 从决策树上减掉一些子树或叶结点,然后将根结点或父节点作为叶节点。

剪枝的分类

剪枝通常分为两类:  预剪枝 Pre-Pruning 和后剪枝 Post-Pruning

父词汇:决策树
子词汇:预剪枝、后剪枝