决策树、ID3决策树(信息熵、信息增益)

目录

一、决策树简介

决策树建立过程

二、ID3决策树

核心思想:决策树算法通过计算​​信息增益​​来选择最佳分裂特征

1、信息熵

2、信息熵的计算方法

3、信息增益

4、信息增益的计算(难点)

5、ID3决策树构建案例

三、总结

一、决策树简介

        决策树 (Decision Tree) 是一种​树形结构的预测模型​,它代表的是对象属性与对象值之间的一种映射关系。决策树通过学习数据特征,构建一套层次化的“判断-分支”规则,最终在叶子节点给出预测结果(每个叶子节点代表一种分类结果)。

根节点 (Root Node)​​:代表整个数据集的起始点,包含所有样本。

内部节点 (Internal Node)​​:对应特征或属性上的判断条件,每个判断会产生分支。

叶节点 (Leaf Node)​​:代表决策的最终结果,即分类的类别或回归的预测值。

决策树建立过程

构建决策树的核心是​​递归地选择最优特征​​对数据进行划分,目标是使划分后子集的“纯度”最高。

        1.特征选择:选取有较强分类能力的特征。

        2.决策树生成:根据选择的特征生成决策树。

        3. 决策树也易过拟合,采用剪枝的方法缓解过拟合

二、ID3决策树

        ID3(Iterative Dichotomiser 3)是一种经典的决策树学习算法,由 Ross Quinlan 在 1986 年提出,主要用于分类问题。它通过​​信息增益​​来选择特征进行划分,构建树形结构,其核心目标是生成一棵尽可能小的决策树(奥卡姆剃刀原理)。

核心思想:决策树算法通过计算​​信息增益​​来选择最佳分裂特征

  1. 计算当前数据集的初始信息熵(Entropy),衡量数据的混乱程度或不确定性
  2. 针对每个特征,计算其信息增益。信息增益表示使用该特征划分数据后,不确定性减少的程度
  3. 选择信息增益最大的特征​​作为当前节点的划分标准
  4. 根据该特征的每个取值,将数据集划分为不同的子集,并为每个子集创建新的子节点
  5. 对每个子节点​​递归地重复​​上述过程,直到满足停止条件(如所有样本属于同一类别,或没有更多特征可用)

1、信息熵

        熵 Entropy :信息论中代表随机变量不确定度的度量

        熵越大,数据的不确定性度越高,信息就越多(有序向无序变化)
        熵越小,数据的不确定性越低

2、信息熵的计算方法

H(x) = -\sum_{i=0}^n P(x_i)log_2P(x_i)

总的熵 = 各个熵的累加和

     其中 P(xi)表示数据中类别出现的概率,H(x) 表示信息的信息熵值,信息熵的单位是​​比特​​ (bit)

举例

        计算数据 α(ABCDEFGH) 信息熵,其中A、B、C、D、E、F、G、H 出现的概率为:1/8

        计算数据 β(AAAABBCD) 信息熵,其中A 出现的概率为1/2,B 出现的概率为1/4,C、D 出现的概率为1/8

3、信息增益

        信息增益衡量的是,在知道某个特征的信息之后,目标变量的​​不确定性减少的程度​​。它的核心思想比较知道特征前后不确定性的变化。

        信息增益​​就是​​初始熵条件熵的差值​​。这个差值越大,说明该特征对于降低目标变量不确定性的贡献越大,也就越重要。

        条件熵​​描述了在已知第二个随机变量 Y的值的前提下,随机变量 X的​​剩余不确定性​​或信息熵 。换句话说,它表示在我们已经知道 Y的一些信息后,要完全确定 X的值还需要多少额外的信息。

4、信息增益的计算(难点)

g(D, a) = H(D)-H(D|A),即信息增益 = 熵 - 条件熵

熵看标签,条件熵看特征和标签

        条件熵的计算

举例计算

已知6个样本,根据特征a:

α 部分对应的目标值为: AAAB

β 部分对应的目标值为:BB                                           

解析:一共6个样本,下面有两个类别:α和β

        1、计算信息熵:H(x) = -\sum_{i=0}^n P(x_i)log_2P(x_i)

A的信息熵 = -\frac{3}{6}log_{2}(\frac{3}{6})

B的信息熵 = -\frac{3}{6}log_{2}(\frac{3}{6})

信息熵 = -\frac{3}{6}log_{2}(\frac{3}{6}) × 2 = 1

        2、计算条件熵(条件熵 = 每个自己的信息熵 × 在整个数据集占比的概率)

α 的条件熵 = -\frac{1}{4}log_{2}\frac{1}{4}+ -\frac{3}{4}log_{2}\frac{3}{4} =0.81

β的条件熵 = -\frac{2}{2}log_{2}\frac{2}{2} =0

条件熵 = \frac{4}{6}\times 0.81+\frac{2}{6}\times 0=0.54

        3、计算:信息增益 = 熵 - 条件熵

信息增益 = 1 - 0.54 = 0.46

        至此计算完了特征a的信息增益,以此类推计算其他特征列的信息增益。

        与其他列相比,谁大谁当根节点。

5、ID3决策树构建案例

已知  某一个论坛客户流失率数据

需求:考察性别、活跃度特征哪一个特征对流失率的影响更大

分析:

     15条样本:5个正样本、10个负样本

  1. 计算熵
  2. 计算性别信息增益
  3. 计算活跃度信息增益
  4.  比较两个特征的信息增益

        结论:活跃度的信息增益比性别的信息增益大,对用户流失的影响比性别大。由此可知,偏向于选择种类多的特征作为分裂依据。

三、总结

        ID3算法是决策树家族的奠基性算法,它通过​​信息增益​​选择特征来构建树形分类模型。虽然它存在对连续特征和不完整数据支持不佳、容易过拟合等局限,但其核心思想清晰且易于理解,为后续更强大的算法(如C4.5和CART)奠定了基础。

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

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

相关文章

SpringBoot文件下载(多文件以zip形式,单文件格式不变)

SpringBoot文件下载(多文件以zip形式,单文件格式不变)初始化文件服务器(我的是minio)文件下载# 样例# # 单文件# # 多文件初始化文件服务器(我的是minio) private static MinioClient minioClie…

【C++题解】贪心和模拟

4小时编码练习计划,专注于贪心算法和复杂模拟题,旨在锻炼您的算法思维、代码实现能力和耐心。 下午 (4小时): 贪心思维与代码实现力 今天的重点是两种在算法竞赛和工程中都至关重要的能力:贪心选择和复杂逻辑的精确实现。贪心算法考察的是能否…

JS多行文本溢出处理

在网页开发中,多行文本溢出是常见的界面问题。当文本内容超出容器限定的高度和宽度时,若不做处理会破坏页面布局的整洁性,影响用户体验。本文将详细介绍两种主流的多行文本溢出解决方案,并从多个维度进行对比,帮助开发…

C++(Qt)软件调试---bug排查记录(36)

C(Qt)软件调试—bug排查记录(36) 文章目录C(Qt)软件调试---bug排查记录(36)[toc]1 无返回值函数风险2 空指针调用隐患3 Debug/Release差异4 ARM架构char符号问题5 linux下找不到动态库更多精彩内容👉内容导航 &#x1…

人工智能领域、图欧科技、IMYAI智能助手2025年8月更新月报

IMYAI 平台 2025 年 8 月功能更新与模型上新汇总 2025年08月31日 功能更新: 对话与绘画板块现已支持多文件批量上传。用户可通过点击或拖拽方式一次性上传多个图片或文件,操作更加便捷。2025年08月25日近期更新亮点: 文档导出功能增强&#x…

2025独立站技术风向:无头电商+PWA架构实战指南

根据 Gitnux 的统计数据,预计到 2025 年,北美将有 60% 的大型零售商采用无头平台。而仍在传统架构上运营的独立站,平均页面加载速度落后1.8秒,转化率低32%。无独有偶,Magento Association 的一项调查显示,7…

淘宝京东拼多多爬虫实战:反爬对抗、避坑技巧与数据安全要点

一、先搞懂:电商爬虫的 3 大核心挑战(比普通爬虫更复杂的原因) 做电商爬虫前,必须先明确「为什么难」—— 淘宝、京东、拼多多的反爬体系是「多层级、动态化、行为导向」的,绝非简单的 UA 验证或 IP 封禁:…

【1】MOS管的结构及其工作原理

以nmos举例,mos管由三个电极:G极(gate)、D极(drain)、S极(source)和一个衬底组成,而这三个电极之间通过绝缘层相隔开;①既然GDS三个电极之间两两相互绝缘&…

如何保存训练的最优模型和使用最优模型文件

一 保存最优模型主要就是我们在for循环中加上一个test测试,并且我还在test函数后面加上了返回值,可以返回准确率,然后每次进行一次对比,然后取大的。然后这里有两种保存方式,一种是保存了整个模型,另一个是…

vue3+ts+echarts多Y轴折线图

因为放在了子组件才监听&#xff0c;加载渲染调用&#xff0c;有暗黑模式才调用&#xff0c;<!-- 温湿度传感器 --><el-row v-if"deviceTypeId 2"><el-col :xs"24" :sm"24" :md"24" :lg"24" :xl"24&qu…

基于Taro4打造的一款最新版微信小程序、H5的多端开发简单模板

基于Taro4、Vue3、TypeScript、Webpack5打造的一款最新版微信小程序、H5的多端开发简单模板 特色 &#x1f6e0;️ Taro4, Vue 3, Webpack5, pnpm10 &#x1f4aa; TypeScript 全新类型系统支持 &#x1f34d; 使用 Pinia 的状态管理 &#x1f3a8; Tailwindcss4 - 目前最流…

ITU-R P.372 无线电噪声预测库调用方法

代码功能概述&#xff08;ITURNoise.c&#xff09;该代码是一个 ITU-R P.372 无线电噪声预测 的计算程序&#xff0c;能够基于 月份、时间、频率、地理位置、人为噪声水平 计算特定地点的 大气噪声、银河噪声、人为噪声及其总和&#xff0c;并以 CSV 或标准输出 方式提供结果。…

《从报错到运行:STM32G4 工程在 Keil 中的头文件配置与调试实战》

《从报错到运行&#xff1a;STM32G4 工程在 Keil 中的头文件配置与调试实战》文章提纲一、引言• 阐述 STM32G4 在嵌入式领域的应用价值&#xff0c;说明 Keil 是开发 STM32G4 工程的常用工具• 指出头文件配置是 STM32G4 工程在 Keil 中开发的关键基础环节&#xff0c;且…

Spring 事务提交成功后执行额外逻辑

1. 场景与要解决的问题在业务代码里&#xff0c;常见诉求是&#xff1a;只有当数据库事务真正提交成功后&#xff0c;才去执行某些“后置动作”&#xff0c;例如&#xff1a;发送 MQ、推送消息、写审计/埋点日志、刷新缓存、通知外部系统等。如果这些动作在事务提交前就执行&am…

Clickhouse MCP@Mac+Cherry Studio部署与调试

一、需求背景 已经部署测试了Mysql、Drois的MCP Server,想进一步测试Clickhouse MCP的表现。 二、环境 1)操作系统 MacOS+Apple芯片 2)Clickhouse v25.7.6.21-stable、Clickhouse MCP 0.1.11 3)工具Cherry Studio 1.5.7、Docker Desktop 4.43.2(199162) 4)Python 3.1…

Java Serializable 接口:明明就一个空的接口嘛

对于 Java 的序列化,我之前一直停留在最浅层次的认知上——把那个要序列化的类实现 Serializbale 接口就可以了嘛。 我似乎不愿意做更深入的研究,因为会用就行了嘛。 但随着时间的推移,见到 Serializbale 的次数越来越多,我便对它产生了浓厚的兴趣。是时候花点时间研究研…

野火STM32Modbus主机读取寄存器/线圈失败(三)-尝试将存贮事件的地方改成数组(非必要解决方案)(附源码)

背景 尽管crc校验正确了&#xff0c;也成功发送了EV_MASTER_EXECUTE事件&#xff0c;但是eMBMasterPoll( void )中总是接收的事件是EV_MASTER_FRAME_RECEIVED或者EV_MASTER_FRAME_SENT&#xff0c;一次都没有执行EV_MASTER_EXECUTE。EV_MASTER_EXECUTE事件被别的事件给覆盖了&…

微信小程序校园助手程序(源码+文档)

源码题目&#xff1a;微信小程序校园助手程序&#xff08;源码文档&#xff09;☑️ 文末联系获取&#xff08;含源码、技术文档&#xff09;博主简介&#xff1a;10年高级软件工程师、JAVA技术指导员、Python讲师、文章撰写修改专家、Springboot高级&#xff0c;欢迎高校老师、…

59-python中的类和对象、构造方法

1. 认识一下对象 世间万物皆是"对象" student_1{ "姓名":"小朴", "爱好":"唱、跳、主持" ......... }白纸填写太落伍了 设计表格填写先进一些些 终极目标是程序使用对象去组织数据程序中设计表格&#xff0c;我们称为 设计类…

向成电子惊艳亮相2025物联网展,携工控主板等系列产品引领智造新风向

2025年8月27-29日&#xff0c;IOTE 2025 第二十四届国际物联网展深圳站在深圳国际会展中心&#xff08;宝安&#xff09;盛大启幕&#xff01;作为全球规模领先的物联网盛会之一&#xff0c;本届展会以“生态智能&#xff0c;物联全球”为核心&#xff0c;汇聚超1000家全球头部…