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

决策树算法全景解析:从 ID3、C4.5 到 CART

1. 为什么决策树依旧值得学?

在深度学习满天飞的今天,决策树(Decision Tree)依旧是工业界面试、风控、医疗诊断场景的常客:

  • 可解释性强——“如果年龄 > 30 且收入 < 10k,则拒绝贷款”一句话就能说清;

  • 对数据分布无假设——不像朴素贝叶斯要求条件独立;

  • 天然支持混合类型特征——数值、类别、缺失值都能吃;

  • 训练快——线性复杂度,单机秒级出模型。


2. 三大经典算法横向对比

算法划分准则偏好缺失值连续值剪枝
ID3信息增益可取值多的属性××
C4.5信息增益率惩罚多取值后剪枝
CART基尼指数二叉切分前/后剪枝

一句话总结

  • 面试问“信息增益缺点”——答“偏向多取值属性,易过拟合”;

  • 问“C4.5 怎么改进”——答“除以自身熵得到信息增益率,加惩罚项”;

  • 问“CART 与 C4.5 区别”——答“二叉切分 + 基尼指数 + 支持回归”。


3. 公式 30 秒速记

  • Ent(D)=−k=1∑∣Y∣​pk​log2​pk​
  • 信息增益

    Gain(D,a)=Ent(D)−v=1∑V​∣D∣∣Dv∣​Ent(Dv)
  • 信息增益率

    Gain_ratio(D,a)=IV(a)Gain(D,a)​,IV(a)=−v=1∑V​∣D∣∣Dv∣​log2​∣D∣∣Dv∣​
  • 基尼指数

    Gini(D)=1−k=1∑∣Y∣​pk2​

4. 连续值 & 缺失值处理

  • 连续值
    C4.5/CART 会枚举候选切分点(通常取相邻两样本均值),选信息增益/基尼最大的那个。

  • 缺失值

    1. 按非缺失样本计算划分准则;

    2. 将缺失样本按概率分到子节点(C4.5 的“权重法”)。


5. 剪枝:预剪枝 VS 后剪枝

策略时机实现方法优缺点
预剪枝训练时限制深度、叶子节点数、最小样本数、最小信息增益省时,但可能欠拟合
后剪枝训练完定义损失函数:$C(T) = \sum_{t∈leaf} N_t \cdot Gini(t) + αleaf$更准确,但耗时

调参口诀:

  • 数据量大 → 预剪枝(max_depth=10~20);

  • 数据量小 → 后剪枝(调大 α)。

带压缩包示例!!!

http://www.dtcms.com/a/339124.html

相关文章:

  • 响应式爬虫系统设计:Scala异步任务编排与弹性容错机制
  • 工业级蓝光三维扫描仪:助力汽车零部件高精度检测与质量提升
  • C++11 lambda表达式使用讲解
  • string 题目练习 过程分析 具体代码
  • leetcode_239 滑动窗口最大值
  • 本地部署消息中间件 Weblogic 并实现外部访问
  • 2025年9月计算机二级MySQL题库及wampserver2.2e下载安装教程
  • 解决linux中磁盘爆满(准确说是文件系统爆满)导致mysql启动失败的问题——对文件系统进行扩容
  • Chrome 插件开发实战技术文章大纲
  • 前端国际化(i18n)解决方案深度比较
  • C#项目集成海康SDK指南:从搭建环境到实现视频预览、录制、截屏
  • 从H.264到AV1:音视频技术演进与模块化SDK架构全解析
  • ComfyUI部署Wan2.2,开放API,文生视频与图生视频
  • 基于Python的宠物服务管理系统 Python+Django+Vue.js
  • 农村污水处理行业物联网解决方案
  • Vue3 el-table实现 将子表字段动态显示在主表行尾
  • GaussDB 中 alter default privileges 的使用示例
  • 鱼骨图图片制作全指南:使用工具推荐 + 行业案例
  • Python实战:SEO优化自动化工具开发指南
  • 大数据毕业设计选题推荐:护肤品店铺运营数据可视化分析系统详解
  • Android面试指南(三)
  • 在Excel和WPS表格中为多个数字同时加上相同的数值
  • 从接口自动化测试框架设计到开发(三)主流程封装、返回数据写入excel
  • 【iOS】内存管理
  • 如何在 Ubuntu Linux 上安装 RPM 软件包
  • 在 Windows 上使用 Kind 创建本地 Kubernetes 集群并集成Traefik 进行负载均衡
  • 2025年8月16日(星期六):雨骑古莲村游记
  • [优选算法专题二——找到字符串中所有字母异位词]
  • 网络间的通用语言TCP/IP-网络中的通用规则4
  • Java网络编程:TCP与UDP通信实现及网络编程基础