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

机器学习-决策树详细解释

目录

一、预备知识

1.信息熵:

 2.条件熵:

3.信息增益

4.基于信息增益选择分割特征的过程

5. C4.5算法

6.C435算法选择特征的策略

7 基尼不纯度:

二. 决策树的核心概念

​1.树的结构

​2.关键算法

三. 决策树的构建过程

1.特征选择

2.递归分割

3.停止条件

四. 决策树的优缺点

​优点

​缺点

五. 解决过拟合的方法

​剪枝(Pruning)​

​集成方法

六. 应用场景


一、预备知识

1.信息熵:

是衡量数据集纯度的指标,熵越大,数据集的纯度越低。假设数据集S包含n个类别,第i类样本出现的概率为(pi),则数据集S的熵(H(S))计算公式为

 2.条件熵:

用于衡量在给定一个属性的条件下,数据集的不确定性。设属性A,其所有可能值为v,(Sv)是数据集S中在属性A上取值为v的子集,则给定属性A的条件下,数据集S的条件熵(H(S|A))计算公式为

3.信息增益

 衡量使用属性A来分割数据集S后,得到的纯度提升,即数据集S关于属性A的信息增益

4.基于信息增益选择分割特征的过程

  1. 初始化:将所有训练样本集放在根节点。
  2. 计算信息增益:对于当前节点,计算所有候选特征的信息增益。分别计算数据集的熵\(H(S)\)和每个特征的条件熵\(H(S|A)\),然后通过公式\(Gain(S,A)=H(S)-H(S|A)\)得出每个特征的信息增益。
  3. 选择最佳特征:选择信息增益最大的特征作为当前节点的分裂特征。因为信息增益越大,说明使用该特征进行划分后,数据集的纯度提升越大,对分类的贡献也就越大。
  4. 节点分裂:根据所选特征的每个不同取值,将当前节点划分为多个子节点,每个子节点包含该特征取值下对应的所有样本。
  5. 递归构建:对于每个子节点,递归地执行计算信息增益、选择最佳特征和节点分裂的步骤,直到满足停止条件,如所有样本属于同一类别、没有更多特征可供选择或最大信息增益小于预先设定的阈值等。

5. C4.5算法

  • 分裂信息:C4.5 算法引入了一个分裂信息(split information)的项来惩罚取值较多的特征,计算公式为分裂信息本质上也是熵的概念,只不过是按照特征的取值计算概率来计算熵,与样本的分类无关。特征取值越多,分裂信息的最大值越大。
  • 增益率计算:增益率的计算公式为即信息增益与分裂信息的比值。对于取值较多的特征,其分裂信息较大,会弱化信息增益大的优势,从而减少对高基数特征的偏向。

http://www.kler.cn/a/573039.html

相关文章:

  • 算法进阶——枚举
  • 构建智能 SQL 查询代理agent,把整个查询过程模块化,既能自动判断使用哪些表,又能自动生成 SQL 语句,最终返回查询结果
  • 敏捷开发之自动化流水线
  • Ubuntu ollama 指定 gpu devices
  • 【VS2019】 .Net Core 3.1 无法打开项目文件
  • MagicArticulate: Make Your 3D Models Articulation-Ready 论文解读
  • SSE 和 WebSocket 的对比
  • 如何在Spring Boot中读取JAR包内resources目录下文件
  • 【封闭式】论文写作技巧--集中学习+集中写作
  • 高并发应用分层架构
  • 【MySQL】索引|作用|底层数据结构|常见问题
  • unity6 打包webgl注意事项
  • sqli-lab靶场学习(七)——Less23-25(关键字被过滤、二次注入)
  • 【Linux】http 协议
  • 如何通过卷积神经网络(CNN)有效地提取图像的局部特征,并在CIFAR-10数据集上实现高精度的分类?
  • FastGPT 引申:借鉴 FastGPT 基于MySQL + ES 实现知识库(含表结构以及核心代码)
  • 数据结构与算法:堆排序
  • Android 14 - HDMI_CEC架构分析
  • 本地部署类似 ChatGPT 的大模型:基于 Ollama + Open-WebUI
  • XTDrone+Mavros+Gazebo仿真——配置与控制不同的无人机