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

决策树的相关理论学习

  • 基本原理:分而治之,基本就是按照树的节点一级一级走下去。

一、划分选择

信息增益

  • 信息熵:如果数据集中第 k 类样本所占的比例为 p_k,则 D 的信息熵为:

\mathrm{Ent}(D)=-\sum_{k=1}^{|y|}p_k\log_2p_k\space.

        \mathrm{Ent}(D)越小, 则 D 的纯度越高

  • 信息增益

\mathrm{Gain}(D,a)=\mathrm{Ent}(D)-\sum_{v=1}^{V}\frac{|D^v|}{|D|}\mathrm{Ent}(D^v)

        其中 a 是用于划分样本集的离散属性,V 是划分之后产生的分支节点数,D^v 是分支节点在 a 上的取值为 a^v 的样本。信息增益越大,则该属性划分的“纯度”提升越大

增益率

\mathrm{Gain\_ratio}(D,a)=\frac{\mathrm{Gain}(D,a)}{\text{IV}(a)},

        其中

\text{IV(a)}=-\sum_{v=1}^{V}\frac{|D^v|}{|D|}\log_2\frac{|D^v|}{|D|}

:增益率这个准则偏向于可取值数目较少的属性,所以一般是先从划分属性中找出信息增益高于平均水平的属性,然后再从中选择增益率最高的。

基尼指数

  • 基尼值(数据集纯度)

\mathrm{Gini}(D)=\sum_{k=1}^{|y|}\sum_{k'\neq k}p_kp_{k'}=1-\sum_{k=1}^{|y|}p_k^2\space.

        该式子反应的是从数据集中随机抽取两个样本的标记不一致的概率,故该值越小,则数据集的纯度越高

  • 基尼指数

\mathrm{Gini\_index}(D,a)=\sum_{v=1}^{V}\frac{|D^v|}{D}\mathrm{Gini}(D^v).

        一般我们选择基尼指数最小的属性作为最优划分属性;

二、剪枝处理(解决过拟合)

预剪枝

  • 若当前结点划分不能提升性能则停止划分,并标记为叶结点。

后剪枝

  • 后剪枝:先训练一个完整的决策树,再自底向上判断每一个非叶结点,若其变为叶结点能提升性能,那么久将该子树替换为叶结点。

:是否提升性能,使用信息增益准则来判断。

三、连续值、缺失值

连续值处理方式

  • 一般就是正常二分法;连续值类似数值,离散值类似某些名词。

缺失值处理方式

  • 一般都是将确实某属性的某样本划给所有的结点,再将其所在的子结点的属性值调整一下。

四、多变量决策树

  • 分裂节点的时候,可按照多个特征属性来决定结点分支。

http://www.dtcms.com/a/276957.html

相关文章:

  • [论文阅读] 软件工程 | 首个德语软件工程情感分析黄金标准数据集:构建与价值解析
  • Java设计模式之行为型模式(命令模式)介绍与说明
  • 什么时候会用到 concurrent.futures?要不要背?
  • 【Linux | 网络】应用层
  • 003_了解Claude
  • 基于SpringBoot3集成Kafka集群
  • MongoDB性能优化实战指南:原理、实践与案例
  • 【设计模式】职责链模式(责任链模式) 行为型模式,纯与不纯的职责链模式
  • 前端框架状态管理对比:Redux、MobX、Vuex 等的优劣与选择
  • ALB、NLB、CLB 负载均衡深度剖析
  • 闲庭信步使用图像验证平台加速FPGA的开发:第十二课——图像增强的FPGA实现
  • axios拦截器
  • spring cloud负载均衡分析之FeignBlockingLoadBalancerClient、BlockingLoadBalancerClient
  • 【Qt开发】Qt的背景介绍(一)
  • 时序预测 | Matlab代码实现VMD-TCN-GRU-MATT变分模态分解时间卷积门控循环单元多头注意力多变量时序预测
  • [特殊字符] Python自动化办公 | 3步实现Excel数据清洗与可视化,效率提升300%
  • 开源链动2+1模式、AI智能名片与S2B2C商城小程序在私域运营中的协同创新研究
  • 从零开始跑通3DGS教程:(五)3DGS训练
  • 《区间dp》
  • 一文读懂现代卷积神经网络—深度卷积神经网络(AlexNet)
  • 深入理解观察者模式:构建松耦合的交互系统
  • Redis技术笔记-从三大缓存问题到高可用集群落地实战
  • ESP-Timer入门(基于ESP-IDF-5.4)
  • JVM:内存、类加载与垃圾回收
  • 每天一个前端小知识 Day 30 - 前端文件处理与浏览器存储机制实践
  • [Rust 基础课程]选一个合适的 Rust 编辑器
  • 通用定时器GPT
  • 输入npm install后发生了什么
  • # 通过wifi共享打印机只有手动翻页正反打印没有自动翻页正反打印,而通过网线连接的主机电脑可以自动翻页正反打印
  • OneCode3.0 VFS分布式文件管理API速查手册