剪枝是让决策树停止分支的一种方法,其被用于解决决策树出现过拟合问题的处理,主要是简化决策树。
剪枝的原因是由于决策树学习过程中,为了尽可能正确分类训练样本,会不断地生成结点,这样会造成决策树分支过多,从而降低效率,此时就需要进行剪枝操作以简化决策树。
决策树算法需要确定树的最佳大小,太大的树会出现过拟合,且很难推广到新样本,同时小树可能无法捕获有关样本空间的结构信息。
树算法的停止时间也很难判断,因为无法判断单个节点是否会降低错误率,其中最常见的策略是增长树,直到每个节点包含少量实例,后利用剪枝来删除不必要的节点。
剪枝的准则在于如何确定决策树的规模:
剪枝的具体操作为: 从决策树上减掉一些子树或叶结点,然后将根结点或父节点作为叶节点。
剪枝通常分为两类: 预剪枝 Pre-Pruning 和后剪枝 Post-Pruning