4. 决策树剪枝

学习目标:

1.知道什么是剪枝

2.理解剪枝的作用

3.知道常用剪枝方法

4.了解不同剪枝方法的优缺点

1. 剪枝

1.1 为什么要剪枝

决策树剪枝是一种防止决策树过拟合 的一种正则化方法 ,提高其泛化能力;

(剪枝是使得树的模型更简单,可理解为一种正则化的方法,类似L1、L2正则化,严格意义上剪枝更偏向于L1正则化,因为L1可以使权重归0,L2只能无线趋向于0;)

1.2 剪枝

把子树的节点全部删掉,使用叶子节点 来替换;

把叶子节点、子节点删掉,用更大的叶子节点(子树) 替换 叶子节点

1.3 剪枝方法

1. 预剪枝 :指在决策树生成过程中,对每个节点在划分前先进行估计,若当前节点的划分不能带来决策树泛化性能提升,则停止划分并将当前节点标记为叶节点;
2. 后剪枝 :是先从训练集生成一棵完整的决策树,然后自底向上地对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来决策树泛化性能提升,则将该子树替换为叶节点。

预剪枝 是预先凭经验做处理,后剪枝是当这棵决策树完全长成之后在处理;后剪枝更准确,但更消耗资源,因为已经训练完了;预剪枝虽然更节约资源但考虑的并不完全,不能完整的考虑到每一层即预剪枝可能会把当前节点的子集规避掉了,万一当前节点没有得到显著提升,但子集得到了提升的情况被预剪枝直接规避掉了;预剪枝是每到一个节点先判断,只判断当前值,分了以后好不好,好就分、不好就不分;后剪枝是先生成所有,再由下往上逐层进行判断)

1.4 剪枝技术对比

预剪枝优点 :使决策树很多分支都没展开,即模型简单 ,所以不单降低了过拟合风险,还显著减少了决策树的训练、测试时间开销;缺点 :有些分支的当前划分虽不能提升泛化性能,但后续划分却有可能导致性能的显著提高;预剪機决策树也带来了欠拟合的风险;预剪枝的好处只有一个:节约资源;
后剪枝优点
:比预剪枝保留了更多的分支。一般情况下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝(因为他把整棵树生成了,逐层来做判断);缺点 :后剪枝先生成,后剪枝。自底向上地对树中所有非叶子节点进行逐一考察,训练时间开销比未剪枝的决策树和预剪枝的决策树都要大得多;后剪枝唯一的弊端:资源开销大

总结:预剪枝节约资源,能避免过拟合,但可能存在欠拟合;后剪枝资源开销大,能避免欠拟合,也会降低过拟合风险;

相关推荐
鹿角片ljp1 小时前
全局哈希去重原理与数据集实践
算法·安全·哈希算法
Paranoid-up1 小时前
安全启动和安全固件更新(SBSFU)3:加密基础
算法·安全·哈希算法·iap·安全启动·安全升级·sbsfu
是wzoi的一名用户啊~1 小时前
Floyd 模版 弗洛伊德算法 模版
c++·算法·动态规划·图论·floyd
昵称小白1 小时前
图论专题(下)
算法·图论
懒惰的coder1 小时前
MPC算法
算法
余俊晖1 小时前
图文混合文档的轻量级多模态listwise重排框架:Rank-Nexus
人工智能·算法·机器学习
小许同学记录成长1 小时前
三维编辑功能实现
qt·算法·无人机
平行侠1 小时前
026FFT快速乘法 - 从信号处理到大数计算的革命
数据结构·算法·信号处理
Controller-Inversion1 小时前
240. 搜索二维矩阵 II
线性代数·算法·矩阵