【机器学习】决策树

参考课程视频:https://www.icourse163.org/course/NEU-1462101162?tid=1471214452

1 概述

样子:

2 分裂

2.1 分裂原则

信息增益

信息增益比

基尼指数

3 终止 & 剪枝

3.1 终止条件

  • 无需分裂
    • 当前节点内样本同属一类
  • 无法分裂
    • 当前节点内所有样本的特征向量完全相同
    • 采用任何特征都无法将当前样本集分为多个子类
  • 无数据可分
    • 当前节点内没有样本

3.2 剪枝

剪枝的目的:解决决策树过拟合现象(决策树规模大),提高决策树的泛化性能。

剪枝方法

  • 前剪枝(预剪枝)
    • 在决策树的生成过程中同步进行剪枝
    • 在节点进行分裂前,对比节点分裂前后决策树的泛化性能指标,若泛化性能在分裂后得到提升,执行分裂;否则不执行分裂。
  • 后剪枝
    • 在决策树完全生成后逐步剪去叶子节点
    • 常采用启发式方法从最深层的叶子节点或具有最高不纯度的
      叶子节点开始剪枝
    • 通过对比剪枝前后的泛化指标,决定是否剪去该叶子节点。

前剪枝 & 后剪枝 策略对比:

策略 时间 拟合风险 泛化能力
前剪枝 训练时间较少、测试时间较少 过拟合风险较低 、欠拟合风险较高 泛化能力一般
后剪枝 训练时间较长、测试时间较少 过拟合风险较低、欠拟合风险稳定 泛化能力较好

通常后剪枝比前剪枝保留的决策树规模更大。

4 决策树算法

4.1 经典决策树算法

ID3

C4.5

CART(Classification And Regression Tree)

4.2 算法对比分析

算法 特征选择 剪枝 处理数据类型 树类型
ID3 信息增益 离散 多叉树
C4.5 信息增益比 前剪枝 离散、连续 多叉树
CART 基尼指数 后剪枝 离散、连续 二叉树

总结:

  • CART的功能更全:分类、回归
  • CART具有更好的泛化性能:二叉树,后剪枝。
  • CART训练时间较长,计算开销较大。
  • 信息增益、信息增益比和基尼指数各有利弊。
相关推荐
To_OC4 小时前
搞懂 Token 和 Embedding 后,我终于明白大模型是怎么 "读" 文字的
人工智能·llm·agent
冬奇Lab6 小时前
每日一个开源项目(第139篇):Voicebox - 本地运行的开源 ElevenLabs 替代品
人工智能·开源·资讯
冬奇Lab6 小时前
Skill 系列(03):Skill 设计范式——5 个模式让输出从混沌到可预测
人工智能·开源·agent
IT_陈寒8 小时前
Python搞不定字符串编码?这破玩意坑我两小时!
前端·人工智能·后端
大模型真好玩10 小时前
什么是Loop Engineering?最通俗易懂的Loop Engineering核心概念
人工智能·agent·deepseek
叁两10 小时前
前端转型AI Agent该如何学习?(前置篇)
前端·人工智能·node.js
LaiYoung_10 小时前
🎁 送你一套超好用超实用的 FE AI-Coding Skills
前端·人工智能·开源
ZzT13 小时前
怎么做才不会被 AI 替代?
人工智能·程序员
道友可好13 小时前
从今天开始:你的第一个 Harness Engineering 实践
前端·人工智能·后端