【机器学习】决策树

参考课程视频: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训练时间较长,计算开销较大。
  • 信息增益、信息增益比和基尼指数各有利弊。
相关推荐
Shockang2 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang2 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab3 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天4 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天4 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源