如何构建多层决策树

构建一颗多层的决策树时,通过递归选择最佳划分特征(依据 信息增益 或 基尼系数 )对数据集进行划分,直到满足停止条件(例如叶节点纯度达到要求或树的深度限制)。以下是基于 信息增益 和 基尼系数 的递推公式和推导过程:


1. 基于信息增益的递推公式与推导

信息增益的目标是选择能够 最大化信息增益 的特征 和对应的分割点 t ,划分数据集 D 为 和 ​。

递推公式

信息增益计算公式:

信息增益定义为划分前后的信息熵差值:

  • H(D):数据集 D 的信息熵。
  • :数据集 D 按特征 cc 和分割点 t 划分后的条件熵。
信息熵公式:

对于一个数据集 D(含 n 个样本,类别数为 k ),信息熵定义为:

其中,,即类别 的样本数占总样本数的比例。

条件熵公式:

数据集 D 按特征 和分割点 t 划分后:

  • 左子集:
  • 右子集:

条件熵为:

其中:

递推推导过程

  1. 初始化根节点:

    • 输入初始数据集 D 。
    • 计算信息熵 H(D) 。
  2. 选择划分特征和分割点:

    • 对每个特征 和可能的分割点 t,计算信息增益 :
    • 遍历所有特征和分割点,选择 最大的 和 t 。
  3. 递归划分:

    • 使用最优特征 和分割点 t 划分数据集:
      • 左子集
      • 右子集
    • 对 和 重复上述过程,直到满足停止条件。

2. 基于基尼系数的递推公式与推导

CART 决策树使用 基尼指数 作为划分标准。目标是选择使 加权基尼系数最小 的特征 XjX_jXj​ 和分割点 t 。

递推公式

基尼系数公式:

对于数据集 D ,基尼系数定义为:

其中, ​。

加权基尼指数公式:

数据集 D 按特征 和分割点 t 划分后,计算加权基尼指数:

其中:


递推推导过程

  1. 初始化根节点:

    • 输入初始数据集 D 。
    • 计算基尼系数 Gini(D) 。
  2. 选择划分特征和分割点:

    • 对每个特征 和可能的分割点 t ,计算加权基尼指数:
    • 遍历所有特征和分割点,选择使 最小的 和 t 。
  3. 递归划分:

    • 使用最优特征 和分割点 t 划分数据集:
      • 左子集
      • 右子集
    • 对 和 重复上述过程,直到满足停止条件。

3. 决策树构建停止条件

  • 样本全部属于同一类别(纯度为 1)。
  • 数据集不能再划分(没有剩余特征或达到深度限制)。
  • 划分后的子集样本数太小,停止进一步划分。

4. 总结递推公式

信息增益递推公式:

基尼系数递推公式:

在决策树构建过程中,通过递归应用上述公式,选择最优的特征和分割点 t 来划分数据,最终构建完整的树。

相关推荐
淡海水1 分钟前
05-02-源码-Boehm GC标记阶段
算法·unity·c#·游戏引擎·gc
鬼手点金3 分钟前
构建有效 Agent 的核心原则
java·人工智能·git·学习·自动化
小星星_ios8 分钟前
从 3Blue1Brown 到 NumPy:手写一个神经网络训练 MNIST
人工智能·python·神经网络
老牛日常随笔9 分钟前
Google把Android测试搬进AI对话:ARTEMIS如何用自然语言操作你的手机
android·人工智能·智能手机
信可维9 分钟前
AI 读 Word 表格总读错?先查合并单元格和表头这 3 处
开发语言·人工智能·c#·word·软件工程
Csvn12 分钟前
A/B 实验:85% 比 78% 好,居然不算赢?(R03)
人工智能·aigc·agent
随性而行36017 分钟前
企业微信 API 如何实现业务消息自动通知?接口应用场景解析
java·人工智能·后端·微信·机器人·企业微信
FPGA信号处理20 分钟前
【雷达原理与系统】第四节课:雷达波形与脉冲压缩
人工智能·计算机视觉·目标跟踪
林浩杨_25 分钟前
《CVPR 2026 Highlight|PersonaVLM:让多模态Agent长期记住并理解用户》
人工智能
GlobalInfo28 分钟前
全球及中国Sim-to-Real机器人平台行业研究报告(2026版):市场现状、行业前景与占有率分析
人工智能·ai·机器人