数据挖掘——决策树分类

数据挖掘——决策树分类

  • 决策树分类
    • Hunt算法
    • 信息增益
    • 增益比率
    • 基尼指数
    • 连续数据
    • 总结

决策树分类

树状结构,可以很好的对数据进行分类;

  • 决策树的根节点到叶节点的每一条路径构建一条规则;
  • 具有互斥且完备的特点,即每一个样本均被且只能被一条路径所覆盖;
  • 只要提供的数据量足够庞大真实,通过数据挖掘模式,就可以构造决策树。
    在这里插入图片描述

Hunt算法

D t D_t Dt是与节点相关联的训练记录集
算法步骤:

  1. 如果 D t D_t Dt中所有记录都属于同一个类 y t y_t yt,则t是叶节点,用 y t y_t yt标记。
  2. 如果 D t D_t Dt中包含属于多个类的记录,则选择一个属性测试条件,将记录划分成较小的子集
  3. 对于测试条件的每个输出,创建一个子结点,并根据测试结果将 D t D_t Dt中的记录分布到子结点中。然后,对于每个子结点,递归地调用该算法。

Hunt算法采用贪心策略构建决策树

  • 在选择划分数据的属性时,采取一系列局部最优决策来构造决策树。

决策树归纳的设计问题

  • 如何分裂训练记录?
    • 怎样为不同类型的属性指定测试条件?
    • 怎样评估每种测试条件?
  • 如何停止分裂过程?

怎样为不同类型的属性指定测试条件?

  • 依赖于属性的类型

    • 标称
    • 序数
    • 连续
  • 依赖于划分的路数

    • 多路划分
    • 二元划分

怎样选择最佳划分?
选择最佳划分的度量通常是根据划分后子节点纯性的程度。
纯性的程度越高,类分布就越倾斜,划分结果越好。
在这里插入图片描述

信息增益

熵的定义如下:
Entropy ⁡ ( S ) = − ∑ i = 1 c p i log ⁡ ( p i ) \operatorname{Entropy}(S)=-\sum_{i=1}^{c} p_{i} \log \left(p_{i}\right) Entropy(S)=i=1cpilog(pi)
信息增益定义如下:
Gain ⁡ ( S , A ) = Entropy ⁡ ( S ) − ∑ v ∈ A ∣ S v ∣ ∣ S ∣ Entropy ⁡ ( S v ) \operatorname{Gain}(S, A)=\operatorname{Entropy}(S)-\sum_{v \in A} \frac{\left|S_{v}\right|}{|S|} \operatorname{Entropy}\left(S_{v}\right) Gain(S,A)=Entropy(S)vASSvEntropy(Sv)

举例说明:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

增益比率

信息增益问题:取值比较多的特征比取值少的特征信息增益大
解决方案:使用增益率,K越大,SplitINFO越大,增益率被平衡
G a i n R A T I O s p l i t = GAIN  split  SplitINFO {{GainRATIO_{split}}}=\frac{\text { GAIN }_{\text {split }}}{\text { SplitINFO}} GainRATIOsplit= SplitINFO GAIN split 
S p l i t I N F O = − ∑ n = 1 k n i n log ⁡ n i n SplitINFO=-\sum_{n=1}^{k} \frac{n_{i}}{n} \log \frac{n_{i}}{n} SplitINFO=n=1knnilognni

增益率准则对可取值数目较少的属性有偏好,因此C4.5算法并不是直接选择增益率最大的属性作为分支标准,而是先从侯选属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的属性。

基尼指数

在这里插入图片描述

连续数据

  • 二元划分 ( A < v ) o r ( A ≥ v ) (A<v)or (A≥v) A<vorAv
    • 考虑所有的划分点,选择一个最优划分点v
  • 多路划分 v i ≤ A < v i + 1 ( i = 1 , … , k ) v_i≤A<v_{i+1} (i=1,…,k) viA<vi+1i=1,,k
    在这里插入图片描述

总结

  1. 决策树是一种构建分类(回归)模型的非参数方法
  2. 不需要昂贵的的计算代价
  3. 决策树相对容易解释
  4. 决策树是学习离散值函数的典型代表
  5. 决策数对于噪声的干扰具有相当好的鲁棒性
  6. 冗余属性不会对决策树的准确率造成不利影响
  7. 数据碎片问题:随着树的生长,可能导致叶结点记录数太少,对于叶结点代表的类,不能做出具有统计意义的判决
  8. 子树可能在决策树中重复多次,使决策树过于复杂
  9. 决策树无法学习特征之间的线性关系,难以完成特征构造

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/500335.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek V3“报错家门”:我是ChatGPT

搜 &#xff1a;海讯无双Ai 要说这两天大模型圈的顶流话题&#xff0c;那绝对是非DeepSeek V3莫属了。 不过在网友们纷纷测试之际&#xff0c;有个bug也成了热议的焦点—— 只是少了一个问号&#xff0c;DeepSeek V3竟然称自己是ChatGPT。 甚至让它讲个笑话&#xff0c;生成…

haproxy+nginx负载均衡实验

准备三台虚拟机&#xff1a; HAProxy 服务器192.168.65.131Web 服务器 1192.168.65.132Web 服务器 2192.168.65.133 在 HAProxy 服务器&#xff08;192.168.65.131&#xff09;上操作&#xff1a; 安装 HAProxy&#xff1a; sudo yum install -y haproxy编辑 HAProxy 配置…

获取 Astro Bot AI 语音来增强您的游戏体验!

有很多用户尝试过Astro Bot&#xff0c;却被Astro Bot可爱的声音所吸引。您是否想知道如何使用 Astro Bot 语音来拨打恶作剧电话或用他的声音说话&#xff1f;如果您有&#xff0c;那么这篇文章适合您。我们将向您展示如何为 Astro Bot 提供逼真的 AI 声音并在在线对话中使用它…

c++表达范围勿用数学符号

目的 遇上了一个C基础问题&#xff0c;一下子陷到里面&#xff0c;不知怎么回事了&#xff0c;知道后&#xff0c;又感觉太可笑。 这也许就是成长的代价。 下面就是细说说所遇上的问题。 关于C逻辑的一些知识点&#xff1a; 定义: 用逻辑运算符将两个表达式链接起来的式子称为…

JVM对象内存分配

1 栈上分配 栈空间随着方法执行完毕而回收通过栈上分配对象内存空间的方式&#xff0c;减少对堆空间的使用&#xff0c;从而减少gc的压力&#xff0c;提升程序性能 逃逸分析&#xff1a;分析对象的作用域&#xff0c;判断对象所需内存是否可以在栈上分配当对象没有被外部方法或…

yolo数据集格式(txt)转coco格式,方便mmyolo转标签格式

近期使用mmyolo过程中发现工具自带的yolo2coco.py在转换完数据集格式后&#xff0c;可视化标签的时候会有标签错乱情况&#xff0c;具体原因也没找到&#xff0c;肯定是转换过程代码有问题&#xff0c;于是重新做一份代码直接从yolo数据集转化为coco的json格式。 代码如下&…

【数字化】华为一体四面细化架构蓝图

导读&#xff1a;华为的“一体四面”企业架构设计方法是一种综合性的管理框架&#xff0c;它通过业务架构、信息架构、应用架构和技术架构的集成设计&#xff0c;构建出一个既符合业务需求&#xff0c;又具备高度灵活性和可扩展性的IT系统。这种架构设计方法强调从业务视角出发…

TCP粘/拆包----自定义消息协议

今天是2024年12月31日&#xff0c;今年的最后一天&#xff0c;希望所有的努力在新的一年会有回报。❀ 无路可退&#xff0c;放弃很难&#xff0c;坚持很酷 TCP传输 是一种面向二进制的&#xff0c;流的传输。在传输过程中最大的问题是消息之间的边界不明确。而在服务端主要的…

“虚拟下单”,虚拟马丁下单,动态计算保本点位 MT4指标 限时免费!

指标名称&#xff1a;虚拟下单 版本&#xff1a;MT4 ver. 2.01&#xff08;指标&#xff09; 虚拟下单指标是一款便于交易者计算所有订单盈亏平衡价格的工具。通过模拟订单的方式&#xff0c;让交易者在实际交易前安全地测试和调整策略。 虚拟下单&#xff0c;计算盈亏平衡点位…

ruoyi 分页 查询超出后还有数据; Mybatis-Plus 分页 超出后还有数据

修改&#xff1a;MybatisPlusConfig 类中 分页合理化修改为&#xff1a;paginationInnerInterceptor.setOverflow(false);

消息队列类型介绍

消息队列&#xff08;Message Queue&#xff0c;简称MQ&#xff09;是一种在分布式系统中广泛应用的技术&#xff0c;用于在不同系统或组件之间进行异步通信。MQ通过存储和转发消息&#xff0c;实现了发送者和接收者之间的解耦&#xff0c;提高了系统的可扩展性、可靠性和灵活性…

高等数学学习笔记 ☞ 函数的极限

1. 函数的极限定义 备注&#xff1a;已知坐标轴上一点&#xff0c;则&#xff1a; ①&#xff1a;的邻域&#xff1a;指附近的开区间&#xff0c;记作。 ②&#xff1a;的去心邻域&#xff1a;指附近的开区间&#xff0c;但不包含&#xff0c;记作。 ③&#xff1a;的邻域&…

OpenMV与STM32通信全面指南

目录 引言 一、OpenMV和STM32简介 1.1 OpenMV简介 1.2 STM32简介 二、通信协议概述 三、硬件连接 3.1 硬件准备 3.2 引脚连接 四、软件环境搭建 4.1 OpenMV IDE安装 4.2 STM32开发环境 五、UART通信实现 5.1 OpenMV端编程 5.2 STM32端编程 六、SPI通信实现 6.1…

Xilinx DCI技术

Xilinx DCI技术 DCI技术概述Xilinx DCI技术实际使用某些Bank特殊DCI要求 DCI级联技术DCI端接方式阻抗控制驱动器&#xff08;源端接&#xff09;半阻抗控制阻抗驱动器&#xff08;源端接&#xff09;分体式DCI&#xff08;戴维宁等效端接到VCCO/2&#xff09;DCI和三态DCI&…

pip安装paddle失败

一、pip安装paddle失败&#xff0c;报错如下 Preparing metadata (setup.py) ... error error: subprocess-exited-with-error import common, dual, tight, data, prox ModuleNotFoundError: No module named common [end of output] 二、解决方法&#xff1a; 按照提示安装对…

报错:websocket注入为null,已解决!

错误截图 原因分析&#xff1a; WebSocket 在 Spring 框架中的注入问题是由其生命周期与 Spring 容器的作用域不一致引起的。spring管理的都是单例&#xff08;singleton&#xff09;&#xff0c;和 websocket &#xff08;多对象&#xff09;相冲突。如果你的WebSocket 处理类…

基于微信小程序的校园点餐平台的设计与实现(源码+SQL+LW+部署讲解)

文章目录 摘 要1. 第1章 选题背景及研究意义1.1 选题背景1.2 研究意义1.3 论文结构安排 2. 第2章 相关开发技术2.1 前端技术2.2 后端技术2.3 数据库技术 3. 第3章 可行性及需求分析3.1 可行性分析3.2 系统需求分析 4. 第4章 系统概要设计4.1 系统功能模块设计4.2 数据库设计 5.…

回顾2024,加油2025!All, You and me!

原文链接&#xff1a;回顾2024&#xff0c;加油2025&#xff01;All, You and me! 前言 今天是2024年12月31日&#xff0c;是2024年最后一天。 那么&#xff0c;你2024年你做了什么呢&#xff1f;有那些收获呢&#xff1f; 这是&#xff0c;每个人都会在做工作总结。也许&am…

面试场景题系列:设计视频分享系统

在本章中&#xff0c;你被要求设计一个像YouTube那样的系统。与这个面试问题类似的还有&#xff1a;设计一个类似Netflix和Hulu的视频分享平台&#xff0c;它们的解决方案是相同的。YouTube看起来很简单&#xff1a;内容创作者上传视频&#xff0c;观看者点击视频后播放。它真的…

WPF编程excel表格操作

WPF编程excel表格操作 摘要NPOI安装封装代码测试代码 摘要 Excel操作几种方式 使用开源库NPOI(常用&#xff0c;操作丰富)使用Microsoft.Office.Interop.Excel COM组件(兼容性问题)使用OpenXml(效率高)使用OleDb(过时) NPOI安装 封装代码 using System; using System.IO; u…