数据挖掘——决策树分类

数据挖掘——决策树分类

  • 决策树分类
    • 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)

信息增益表示的是:得知特征X的信息而使得分类Y的信息的不确定性减少的程度,如果某个特征的信息增益比较大,就表示该特征对结果的影响较大。

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

增益比率

信息增益问题:取值比较多的特征比取值少的特征信息增益大
解决方案:使用增益率,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.mzph.cn/web/65019.shtml

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

相关文章

自动化文件监控与分类压缩:实现高效文件管理

自动化文件监控与分类压缩&#xff1a;实现高效文件管理 引言 在现代数据处理和文件管理中&#xff0c;如何高效地管理和归档大量文件是一个常见的挑战。特别是在需要根据文件类型进行分类并定期归档的场景下&#xff0c;手动操作不仅耗时且容易出错。为此&#xff0c;我们开…

小红书怎么看ip所属地?小红书ip属地为什么可以变

小红书&#xff0c;作为当下热门的社交电商平台&#xff0c;不仅为用户提供了丰富的购物与分享体验&#xff0c;还通过展示用户IP属地信息&#xff0c;增强了网络社交的透明度和真实性。然而&#xff0c;不少用户发现&#xff0c;小红书上的IP属地并非一成不变&#xff0c;这引…

springboot使用hutool captcha +vue实现图形验证码

一、效果 使用hutool captcha实现简单的图形验证码&#xff0c;可以参考官网概述 | Hutool 二、实现步骤 1、导入依赖 <!--hutool包--> <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.…

2501d,d的优势之一与C互操作

原文 如前,我已将个人理财包从C移植到D语言,开始时,把里面的一些移植到Rust中,直到我再也受不了了. D和Rust版本中都有读取从美国运通下载的.csv文件的工具之一,并把交易加载到包含财务数据的轻查数据库中,试通过使用基于李文距离的算法的模糊比较问题的描述与现有问题,来为每…

vue3+Echarts+ts实现甘特图

项目场景&#xff1a; vue3Echartsts实现甘特图;发布任务 代码实现 封装ganttEcharts.vue <template><!-- Echarts 甘特图 --><div ref"progressChart" class"w100 h100"></div> </template> <script lang"ts&qu…

EdgeX规则引擎eKuiper

EdgeX 规则引擎eKuiper 一、架构设计 LF Edge eKuiper 是物联网数据分析和流式计算引擎。它是一个通用的边缘计算服务或中间件,为资源有限的边缘网关或设备而设计。 eKuiper 采用 Go 语言编写,其架构如下图所示: eKuiper 是 Golang 实现的轻量级物联网边缘分析、流式处理开源…

【AIGC-ChatGPT进阶提示词指令】AI美食助手的设计与实现:Lisp风格系统提示词分析

引言 在人工智能助手的应用领域中&#xff0c;美食烹饪是一个既专业又贴近生活的方向。本文将详细分析一个基于Lisp风格编写的美食助手系统提示词&#xff0c;探讨其结构设计、功能实现以及实际应用效果。 提出你的菜系&#xff0c;为你分析&#xff0c;并生成图片卡片 提示词…

智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之9 重新开始 之2

本文要点 对程序设计而言&#xff1a;前者基于一个自上而下的 分类体系--&#xff08;生物遗传基因&#xff09;&#xff0c;后者者需要一个收集差异的自下而上的差异继承路径--&#xff08;系统继承源流&#xff09; 就是 广义和狭义 分类学。 共性对齐 和 差异收集 正是两者…

MCA:用于图像识别的深度卷积神经网络中的多维协同注意力

摘要 大量先前的研究已经表明,注意力机制在提高深度卷积神经网络(CNNs)性能方面具有巨大潜力。然而,现有的大多数方法要么忽略了在通道和空间维度上同时建模注意力,要么引入了更高的模型复杂度和更重的计算负担。为了缓解这一困境,本文提出了一种轻量级且高效的多维协同…

halcon中图像处理及图像滤波

图像滤波简介 图像滤波的方法主要分为两大类:空间域方法和频域方法。 空间域方法是以对图像的像素直接进行处理为基础,包括均值滤波、中值滤波、高斯滤波等;频域方法则是以修改图像在傅里叶变换空间的值为基础的,包括高通滤波、低通滤波、同态滤波等。 1.空间域图像滤波 图…

【从零开始入门unity游戏开发之——C#篇42】C#补充知识——随机数(Random)、多种方法实现string字符串拼接、语句的简写

文章目录 一、随机数1、Random.Next()生成随机整数示例&#xff1a;生成一个随机整数生成指定范围内的随机整数 2、Random.NextSingle生成随机浮点数示例&#xff1a;生成随机浮点数 3、 生成随机字母或字符示例&#xff1a;生成随机字母示例&#xff1a;生成随机小写字母 二、…

吐卡机开发——指令合集—未来之窗行业应用跨平台架构

序号指令10A 09 02 01 01 0D DE20A 09 02 02 01 FD DE30A 09 02 03 01 6D DF40A 09 02 04 01 5D DD50A 09 02 05 01 CD DC60A 09 02 06 01 3D DC70A 09 02 07 01 AD DD80A 09 02 08 01 5D D890A 09 02 09 01 CD D9100A 09 02 10 01 5D D2110A 09 02 11 01 CD D3120A 09 02 12 0…

fpga系列 HDL:verilog 常见错误与注意事项 位宽不匹配+case 语句中没有覆盖所有情况

位宽不匹配问题 信号或操作数的位宽不匹配&#xff0c;可能导致仿真或综合错误。 module top (input wire [3:0] a,output wire [7:0] b );assign b a; endmodulecase 语句中没有覆盖所有情况 module top (input wire [1:0] sel,input wire [7:0] a,input wire [7:0] b,in…

Linux中操作中的无痕命令history技巧

当我们需要查看Linux下的操作记录时&#xff0c;就可以用history命令来查看历史记录 1、关闭history记录功能&#xff0c;如果不想让别人看到自己在Linux上的操作命令&#xff0c;可以用这个命令 set o history 2、打开history记录功能 set -o history3、清空记录 histor…

计算机网络练习题

学习这么多啦&#xff0c;那就简单写几个选择题巩固一下吧&#xff01; 1. 在IPv4分组各字段中&#xff0c;以下最适合携带隐藏信息的是&#xff08;D&#xff09; A、源IP地址 B、版本 C、TTL D、标识 2. OSI 参考模型中&#xff0c;数据链路层的主要功能是&#xff08;…

优化租赁小程序提升服务效率与用户体验的策略与实践

内容概要 在这个快速发展的商业环境中&#xff0c;租赁小程序成为了提升服务效率和用户体验的重要工具。通过对用户需求的深入挖掘&#xff0c;我们发现他们对于功能的便捷性、响应速度和界面的友好性有着极高的期待。因此&#xff0c;针对这些需求&#xff0c;完善租赁小程序…

【数据结构】树链刨分

1 u v k&#xff0c;修改路径上节点权值&#xff0c;将节点 uu 和节点 vv 之间路径上的所有节点&#xff08;包括这两个节点&#xff09;的权值增加 kk。2 u k&#xff0c;修改子树上节点权值&#xff0c;将以节点 uu 为根的子树上的所有节点的权值增加 kk。3 u v&#xff0c;询…

pandas.Grouper() 在实际项目中非常有用,尤其是在处理时间序列数据、财务数据或多级索引数据时

pandas.Grouper() 在实际项目中非常有用&#xff0c;尤其是在处理时间序列数据、财务数据或多级索引数据时。以下是几个实际场景的例子&#xff0c;展示了如何使用 pandas.Grouper() 进行数据分组&#xff0c;并用数值示例说明。 1. 按月分组进行销售数据汇总 场景&#xff1…

private static final Logger log = LoggerFactory.getLogger()和@Slf4j的区别

一、代码方面 - private static final Logger log LoggerFactory.getLogger()方式 详细解释 这是一种传统的获取日志记录器&#xff08;Logger&#xff09;的方式。LoggerFactory是日志框架&#xff08;如 Log4j、Logback 等&#xff09;提供的工厂类&#xff0c;用于创建Lo…

医疗数仓Hive安装部署

Hive安装部署 Hive安装部署 1&#xff09;把hive-3.1.3.tar.gz上传到linux的/opt/software目录下 2&#xff09;解压hive-3.1.3.tar.gz到/opt/module/目录下面 [atguiguhadoop102 software]$ tar -zxvf /opt/software/hive-3.1.3.tar.gz -C /opt/module/3&#xff09;修改hive…