当前位置: 首页 > backend >正文

Day21_【机器学习—决策树(3)—剪枝】

决策树剪枝是一种防止决策树过拟合的一种正则化方法;提高其泛化能力。决策树在训练过程中如果生长过深、过于复杂,会过度拟合训练数据中的噪声和异常值,导致在新数据上表现不佳。剪枝通过简化树结构,去除不必要的分支,从而提升模型的鲁棒性。

               


一、剪枝的目的

  • 减少模型复杂度
  • 防止过拟合
  • 提高在测试集上的预测性能
  • 增强模型的可解释性

二、剪枝的类型

剪枝主要分为两类:预剪枝(Pre-pruning)后剪枝(Post-pruning)


1. 预剪枝(Pre-pruning)——提前停止

在决策树构建过程中,提前终止树的生长。

常见停止条件:
  • 树的深度达到预设最大值
  • 节点中的样本数少于阈值
  • 节点的不纯度下降小于阈值(如信息增益 < ε)
  • 节点中所有样本属于同一类别
  • 没有更多特征可用于划分
优点:
  • 计算开销小
  • 训练速度快
缺点:
  • 容易欠拟合:可能过早停止,错过潜在的有效划分(“贪心”问题)
  • 阈值选择敏感,需通过验证集调整

✅ 适用于对训练时间敏感的场景。


2. 后剪枝(Post-pruning)——先生成再简化

先让决策树充分生长(直到每个叶节点纯或满足最小样本数),然后自底向上地对非叶节点进行评估,判断是否应将其子树替换为叶节点。

优点:
  • 通常比预剪枝效果更好
  • 能保留更多有效结构,避免欠拟合
缺点:
  • 计算成本高(需先建完整树)
  • 实现较复杂
http://www.xdnf.cn/news/20162.html

相关文章:

  • java面试中经常会问到的zookeeper问题有哪些(基础版)
  • Vue3 频率范围输入失焦自动校验实现
  • Windows 11主机Ubuntu 24.04虚机共享目录权限问题
  • MySQL问题4
  • 阿里云服务器配置ssl-docker nginx
  • 企业数字安全双保险:终端安全与数据防泄漏如何构筑全方位防护体系
  • React Hooks useContext
  • AI API Tester体验:API测试工具如何高效生成接口测试用例、覆盖异常场景?
  • 【建图+dsf/最长上升子序列dp】【记录最优解路径】P2196 [NOIP 1996 提高组] 挖地雷
  • C++ 音视频开发常见面试题及答案汇总
  • 【软考架构】V模型、W模型、增量模型和螺旋模型
  • Oracle 10g → Oracle 19c 升级后问题解决方案(Pro*C 项目)
  • Redis 内存管理机制:深度解析与性能优化实践
  • 阿里云国际代理:阿里云的云数据库是什么?
  • 《基于stm32的智慧家居基础项目》
  • python使用transformer库推理
  • Leetcode—721. 账户合并【中等】
  • Mattermost教程:用Docker搭建自己的开源Slack替代品 (团队聊天)
  • PyTorch训练循环详解:深入理解forward()、backward()和optimizer.step()
  • 光伏项目无人机踏勘--如何使用无人机自动航线规划APP
  • VMware替代 | ZStack生产级跨版本热升级等七大要素降低TCO50%
  • HDFS存储农业大数据的秘密是什么?高级大豆数据分析与可视化系统架构设计思路
  • OpenLayers常用控件 -- 章节五:鹰眼地图控件教程
  • 修改上次提交的Git提交日志
  • CodePerfAI体验:AI代码性能分析工具如何高效排查性能瓶颈、优化SQL执行耗时?
  • 《sklearn机器学习——聚类性能指标》调整兰德指数、基于互信息(mutual information)的得分
  • Mysql中模糊匹配常被忽略的坑
  • Netty从0到1系列之Netty整体架构、入门程序
  • Python迭代协议完全指南:从基础到高并发系统实现
  • 投资储能项目能赚多少钱?小程序帮你测算