4. 决策树剪枝

学习目标:

1.知道什么是剪枝

2.理解剪枝的作用

3.知道常用剪枝方法

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

1. 剪枝

1.1 为什么要剪枝

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

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

1.2 剪枝

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

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

1.3 剪枝方法

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

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

1.4 剪枝技术对比

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

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

相关推荐
tangguofeng31 分钟前
不带头结点的链队操作集(不含InitFlag)(C语言版)
算法
苏打豆2 小时前
CRISP源码阅读——基于ROS2力矩反馈控制器与速度加速度零空间
c++·线性代数·算法·矩阵·机器人
蛋蛋的就会顺顺的2 小时前
hot100——矩阵
java·数据结构·算法·leetcode·力扣
老歌老听老掉牙2 小时前
麻花钻切屑形态演变的力学机制与临界条件分析
python·算法·钻头
zhangfeng11333 小时前
国产GPU/AI算力芯片现状(修订完整版 · 截至2026年9月
人工智能·算法·ai编程·npu
学代码的CJY3 小时前
从代码出发理解时间复杂度与空间复杂度
数据结构·算法
白帽攻防录4 小时前
SRC 挖洞:WSO2 JWT 算法混淆绕过深度复盘,CVE-2026-5430 不支持的算法怎么变成管理员
网络·算法·安全·网络安全·jwt
小O的算法实验室4 小时前
IEEE TEVC,基于精确与DQN群智能调度方法用于多目标异构USV
算法
可乐ea5 小时前
AI Agent 工具调用准确性评测:选择错误与参数错误分开测
大数据·人工智能·算法·大模型·工具调用·ai智能体·agent评测
上位机妹子5 小时前
C 语言 数组删除指定元素(快慢指针法)
c语言·数据结构·算法