如何构建多层决策树

news/2025/1/12 13:15:05/

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


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

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

递推公式

信息增益计算公式:

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

IG(D, X_j, t) = H(D) - H(D|X_j, t)

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

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

H(D) = -\sum_{i=1}^k p(y_i) \log_2 p(y_i)

其中,p(y_i) = \frac{n(y_i)}{n},即类别 y_i 的样本数占总样本数的比例。

条件熵公式:

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

  • 左子集:D_{\text{left}} = \{x \in D | X_j \leq t\}
  • 右子集:D_{\text{right}} = \{x \in D | X_j > t\}

条件熵为:

H(D|X_j, t) = p_{\text{left}} H(D_{\text{left}}) + p_{\text{right}} H(D_{\text{right}})

其中:

p_{\text{left}} = \frac{|D_{\text{left}}|}{|D|}, \quad p_{\text{right}} = \frac{|D_{\text{right}}|}{|D|}

递推推导过程

  1. 初始化根节点

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

    • 对每个特征 X_j 和可能的分割点 t,计算信息增益 IG(D, X_j, t)IG(D, X_j, t) = H(D) - \left(p_{\text{left}} H(D_{\text{left}}) + p_{\text{right}} H(D_{\text{right}})\right)
    • 遍历所有特征和分割点,选择 G(D, X_j, t)最大的X_j 和 t 。
  3. 递归划分

    • 使用最优特征 X_j 和分割点 t 划分数据集:
      • 左子集 D_{\text{left}}
      • 右子集 D_{\text{right}}
    • D_{\text{left}} ​ 和 D_{\text{right}} 重复上述过程,直到满足停止条件。

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

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

递推公式

基尼系数公式:

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

Gini(D) = 1 - \sum_{i=1}^k p(y_i)^2

其中,p(y_i) = \frac{n(y_i)}{n} ​。

加权基尼指数公式:

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

Gini(D|X_j, t) = p_{\text{left}} Gini(D_{\text{left}}) + p_{\text{right}} Gini(D_{\text{right}})

其中:

p_{\text{left}} = \frac{|D_{\text{left}}|}{|D|}, \quad p_{\text{right}} = \frac{|D_{\text{right}}|}{|D|}


递推推导过程

  1. 初始化根节点

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

    • 对每个特征 X_j​ 和可能的分割点 t ,计算加权基尼指数: Gini(D|X_j, t) = p_{\text{left}} Gini(D_{\text{left}}) + p_{\text{right}} Gini(D_{\text{right}})
    • 遍历所有特征和分割点,选择使Gini(D|X_j, t) 最小的 X_j 和 t 。
  3. 递归划分

    • 使用最优特征 X_j 和分割点 t 划分数据集:
      • 左子集 D_{\text{left}}
      • 右子集 D_{\text{right}}
    • D_{\text{left}}​ 和 D_{\text{right}} 重复上述过程,直到满足停止条件。

3. 决策树构建停止条件

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

4. 总结递推公式

信息增益递推公式:

IG(D, X_j, t) = H(D) - \left(p_{\text{left}} H(D_{\text{left}}) + p_{\text{right}} H(D_{\text{right}})\right)

基尼系数递推公式:

Gini(D|X_j, t) = p_{\text{left}} Gini(D_{\text{left}}) + p_{\text{right}} Gini(D_{\text{right}})

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


http://www.ppmy.cn/news/1562511.html

相关文章

12工具篇(D2_Commons-lang3)

目录 一、基本介绍 二、commons-lang3库的引用 三、常用工具类 1. StringUtils 2. RandomStringUtils 3. NumberUtils 4. ArrayUtils 5. DateUtils 6. StringUtile 7. BeanUtils 7.1 基本介绍 7.2 JavaBean 7.3 两个概念 7.4 常用操作 7.5 应用 1. JavaBean 的属…

ISP架构方案

外置 ISP 架构 外置 ISP 架构是指在 AP 外部单独布置 ISP 芯片用于图像信号处理。外置 ISP 的架构图一般如下所示: 外置 ISP 架构的优点主要有: 能够提供更优秀的图像质量:在激烈的市场竞争下,能够存活到现在的外置 ISP 生产厂商在…

飞书二维码登录注意点

1.前端SDK版本 第一个手机端授权后、网页端还需要点击一次授权 授权后会跳转到redirect_uri页面&#xff0c;连接会携带code<script src"https://lf-package-cn.feishucdn.com/obj/feishu-static/lark/passport/qrcode/LarkSSOSDKWebQRCode-1.0.3.js"></scr…

k8s之pod生命周期

一.pod生命周期:pod对象从创建开始到终止的过程1.作用:复杂服务的启动顺序,依赖关系,容器服务启动前的相关操作,配置文件生成,依赖服务检测等...2.生命周期流程:初始化容器--主容器--启动后回调函数-->启动,生命,就绪探针-->关闭前回调函数初始化容器执行&#xff1a;执行…

istio-proxy内存指标

在 Istio 环境中&#xff0c;istio-proxy 是 Envoy 的边车代理容器。通过运行命令 curl localhost:15000/memory&#xff0c;或者curl localhost:15000/stats 可以查询 Envoy 的内存统计信息。以下是典型返回结果的结构和意义&#xff1a; 返回结果单位是bytes&#xff0c;需/…

PHP与ThinkPHP连接数据库示例

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…

Linux下实时监测双网卡的默认网卡并重新设置默认网卡

在项目使用过程中&#xff0c;碰到了一些双网卡电脑&#xff0c;连接的两个交换机中某一交换机重启。导致通信不正常的情况。 发现是默认网卡发生变化&#xff0c;当然&#xff0c;也有可能是网络连接状态变化 首先通过命令来查看默认网卡是否发生变化 route -n然后通过写入…

Network Compression(李宏毅)机器学习 2023 Spring HW13 (Boss Baseline)

1. Introduction to Network Compression 深度学习中的网络压缩是指在保持神经网络性能的同时,减少其规模的过程。这非常重要,因为深度学习模型,尤其是用于自然语言处理或计算机视觉的大型模型,训练和部署的计算成本可能非常高。网络压缩通过降低内存占用并加快推理速度,…