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

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


一、剪枝的目的

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

二、剪枝的类型

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


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

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

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

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


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

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

优点:
  • 通常比预剪枝效果更好
  • 能保留更多有效结构,避免欠拟合
缺点:
  • 计算成本高(需先建完整树)
  • 实现较复杂
相关推荐
深圳佛手9 小时前
AI 编程工具Claude Code 介绍
人工智能·python·机器学习·langchain
南汐汐月10 小时前
重生归来,我要成功 Python 高手--day33 决策树
开发语言·python·决策树
koo36410 小时前
李宏毅机器学习笔记43
人工智能·笔记·机器学习
程序猿追12 小时前
轻量级云原生体验:在OpenEuler 25.09上快速部署单节点K3s
人工智能·科技·机器学习·unity·游戏引擎
程序猿追13 小时前
异腾910B NPU实战:vLLM模型深度测评与部署指南
运维·服务器·人工智能·机器学习·架构
antonytyler14 小时前
机器学习实践项目(二)- 房价预测增强篇 - 模型训练与评估:从多模型对比到小网格微调
人工智能·机器学习
阿里花盘16 小时前
教育培训机构如何搭建自己的在线教育小程序?
小程序·哈希算法·剪枝·霍夫曼树
星释20 小时前
Rust 练习册 :Phone Number与电话号码处理
开发语言·机器学习·rust
大大dxy大大1 天前
机器学习实现逻辑回归-癌症分类预测
机器学习·分类·逻辑回归
武子康1 天前
AI研究-119 DeepSeek-OCR PyTorch FlashAttn 2.7.3 推理与部署 模型规模与资源详细分析
人工智能·深度学习·机器学习·ai·ocr·deepseek·deepseek-ocr