当前位置: 首页 > 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.lryc.cn/news/586784.html

相关文章:

  • FusionOne HCI 23 超融合实施手册(超聚变超融合)
  • 【C++】多线程同步三剑客介绍
  • 代码随想录算法训练营第十七天
  • 【C++】第十五节—一文详解 | 继承
  • JVM 垃圾收集算法全面解析
  • DC-DC变换器最基本拓扑 -Buck电路和Boost电路
  • ROS2---NodeOptions
  • MacOS使用Multipass快速搭建轻量级k3s集群
  • mac上BRPC的CMakeLists.txt优化:解决Protobuf路径问题
  • TensorFlow深度学习实战(24)——变分自编码器详解与实现
  • Vue 3 动态ref问题
  • 封装---统一封装处理页面标题
  • C++模版编程:类模版与继承
  • Qt 3D模块加载复杂模型
  • vue应用如何实现在 A 标签页登出,希望 B 标签页也自动感知并退出登录
  • 语音识别的速度革命:从 Whisper 到 Whisper-CTranslate2,我经历了什么?
  • 数据库3.0
  • HarmonyOS-ArkUI Web控件基础铺垫1-HTTP协议-数据包内容
  • EPLAN多项目并行,电气设计许可如何不浪费?
  • (S4)Efficiently Modeling Long Sequences with Structured State Spaces论文精读(逐段解析)
  • ReAct论文解读(1)—什么是ReAct?
  • 基于YOLOv11的无人机目标检测实战(Windows环境)
  • Spring Cloud Gateway 实战指南
  • 力扣经典算法篇-21- 两数之和 II - 输入有序数组(固定一端 + 二分查找法,双指针法)
  • MongoDB性能优化实战指南:原理、实践与案例
  • git实际工作流程
  • 【零基础入门unity游戏开发——unity3D篇】3D光源之——unity反射和反射探针技术
  • SPSSPRO:数据分析市场SaaS挑战者的战略分析
  • 深入解析Hadoop架构设计:原理、组件与应用
  • (2)从零开发 Chrome 插件:实现 API 登录与本地存储功能