决策树剪枝:预剪枝、后剪枝

一棵完全生长的决策树会面临一个很严重的问题,即过拟合。当模型过拟合进行预测时,在测试集上的效果将会很差。因此我们需要对决策树进行剪枝, 剪掉一些枝叶,提升模型的泛化能力。

决策树的剪枝通常有两种方法,预剪枝( Pre-Pruning )和后剪枝( Post-Pruning )。

预剪枝( Pre-Pruning )

预剪枝 , 即在生成决策树的过程中提前停止树的增长。核心思想是在树中结点进行扩展之前,先计算当前的划分是否能带来模型泛化能力的提升,如果不能,则不再继续生长子树。此时可能存在不同类别的样本同时存于结点中,按照多数投票的原则判断该结点所属类别。预剪枝对于何时停止决策树的生长有以下几种方法:

( 1 )当树到达一定深度的时候,停止树的生长。
( 2 )当到达当前结点的样本数量小于某个阈值的时候,停止树的生长。
( 3 )计算每次分裂对测试集的准确度提升,当小于某个阈值的时候 ,不再继续扩展。

预剪枝具有思想直接、算法简单、效率高等特点,适合解决大规模问题。 但如何准确地估计何时停止树的生长(即上述方法中的深度或阈值),针对不同问题会有很大差别,需要一定经验判断。且预剪枝存在一定局限性,高欠拟合的风险,虽然当前的划分会导致测试集准确率降低 , 但在之后的划分中,准确率可能会高显著上升。

后剪枝 ( Post-Pruning )

后剪枝,是在已经生成的过拟合决策树上进行剪枝,得到简化版的剪枝决策树。核心思想是让算法生成一棵完全生长的决策树,然后从最底层向上计算是否剪枝。剪枝过程将子树删除,用一个叶子结点替代,该结点的类别同样按照多数投票的原则进行判断。 同样地 ,后剪枝也可以通过在测试集上的准确率进行判断,如果剪枝过后准确率有所提升,则进行剪枝。 相比于预剪枝,后剪枝方法通常可以得到泛化能力更强的决策树,但时间开销会更大。

常见的后剪枝方法包括错误率降低剪枝( Reduced Error Pruning, REP )、悲观剪枝( Pessimistic Error Pruning, PEP )、代价复杂度剪枝( Cost Complexity Pruning, CCP )、最小误差剪枝( Minimum Error Pruning, MEP )、 CVP ( Critical Value Pruning )、 OPP ( Optimal Pruning )等方法,这些剪枝方法各有利弊,关注不同的优化角度。

总结

剪枝过程在决策树模型中占据着极其重要的地位。有很多研究表明 ,剪枝比树的生成过程更为关键。对于不同划分标准生成的过拟合决策树 ,在经过剪枝之后都能保留最重要的属性划分,因此最终的性能差距并不大 。 理解剪枝方法的理论, 在实际应用中根据不同的数据类型、规模,决定使用何种决策树以及对应的剪枝策略,灵活变通 ,找到最优选择。

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值