决策树的划分依据之:信息增益率

news2024/12/27 2:46:42

在上面的介绍中,我们有意忽略了"编号"这一列.若把"编号"也作为一个候选划分属性,则根据信息增益公式可计算出它的信息增益为 0.9182,远大于其他候选划分属性。

计算每个属性的信息熵过程中,我们发现,该属性的值为0, 也就是其信息增益为0.9182. 但是很明显这么分类,最后出现的结果不具有泛化效果.无法对新样本进行有效预测.

实际上,信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,著名的 C4.5 决策树算法 [Quinlan, 1993J 不直接使用信息增益,而是使用"增益率" (gain ratio) 来选择最优划分属性.

增益率:增益率是用前面的信息增益Gain(D, a)和属性a对应的"固有值"(intrinsic value) [Quinlan , 1993J的比值来共同定义的。

在这里插入图片描述

属性 a 的可能取值数目越多(即 V 越大),则 IV(a) 的值通常会越大.

案例一

a.计算类别信息熵

b.计算性别属性的信息熵(性别、活跃度)

c.计算活跃度的信息增益(性别、活跃度)

d.计算属性分裂信息度量

用分裂信息度量来考虑某种属性进行分裂时分支的数量信息和尺寸信息,我们把这些信息称为属性的内在信息(instrisic information)。信息增益率用信息增益/内在信息,会导致属性的重要性随着内在信息的增大而减小(也就是说,如果这个属性本身不确定性就很大,那我就越不倾向于选取它),这样算是对单纯用信息增益有所补偿。

在这里插入图片描述

e.计算信息增益率

在这里插入图片描述

活跃度的信息增益率更高一些,所以在构建决策树的时候,优先选择

通过这种方式,在选取节点的过程中,我们可以降低取值较多的属性的选取偏好。

案例二

如下图,第一列为天气,第二列为温度,第三列为湿度,第四列为风速,最后一列该活动是否进行。

我们要解决:根据下面表格数据,判断在对应天气下,活动是否会进行?

在这里插入图片描述
在这里插入图片描述

该数据集有四个属性,属性集合A={ 天气,温度,湿度,风速}, 类别标签有两个,类别集合L={进行,取消}。

a.计算类别信息熵

类别信息熵表示的是所有样本中各种类别出现的不确定性之和。根据熵的概念,熵越大,不确定性就越大,把事情搞清楚所需要的信息量就越多。

Ent(D)=−149log2149−145log2145=0.940

b.计算每个属性的信息熵

每个属性的信息熵相当于一种条件熵。他表示的是在某种属性的条件下,各种类别出现的不确定性之和。属性的信息熵越大,表示这个属性中拥有的样本类别越不“纯”。

在这里插入图片描述

c.计算信息增益

信息增益的 = 熵 - 条件熵,在这里就是 类别信息熵 - 属性信息熵,它表示的是信息不确定性减少的程度。如果一个属性的信息增益越大,就表示用这个属性进行样本划分可以更好的减少划分后样本的不确定性,当然,选择该属性就可以更快更好地完成我们的分类目标。

信息增益就是ID3算法的特征选择指标。

加粗样式

e.计算信息增益率

天气的信息增益率最高,选择天气为分裂属性。发现分裂了之后,天气是“阴”的条件下,类别是”纯“的,所以把它定义为叶子节点,选择不“纯”的结点继续分裂。

在这里插入图片描述

在子结点当中重复过程1~5,直到所有的叶子结点足够"纯"。

现在我们来总结一下C4.5的算法流程

while(当前节点"不纯")1.计算当前节点的类别熵(以类别取值计算)
    2.计算当前阶段的属性熵(按照属性取值吓得类别取值计算)
    3.计算信息增益
    4.计算各个属性的分裂信息度量
    5.计算各个属性的信息增益率
end while
当前阶段设置为叶子节点

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

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

相关文章

学习记录——CFNet

CFNet: Cascade Fusion Network for Dense Prediction 一种新颖的多尺度融合方法 CVPR 2023   现有的SOTA方法通常先通过主干网络提取多尺度特征,然后通过轻量级模块(如 FPN)融合这些特征。然而,我们认为通过这样的范例来融合多…

常见的用户行为路径分析方法

用户行为路径分析,一方面可视化用户流向,对海量用户的行为习惯形成宏观了解;另一方面是定位影响转化的主要因素,使产品的优化与改进有的放矢。如果没有用户行为路径分析,会让我们不能获得用户的及时反馈信息&#xff0…

使用HBuilder-X创建uniapp项目并启动演示

前言 课前准备:需要安装有HBuilder-X软件以及谷歌、火狐等浏览器。 官方网址:https://www.dcloud.io/ 一、创建项目 依次点击文件->新建->项目: 接着: 点击uni-app填写项目名称选择项目路径选择项目模版,我…

Java里的static import使用小结

Java里的static import使用小结 换了工作要把Java重新捡起来了,这个在大学里用过的语言,虽然不复杂,还是有一些奇怪的地方的。比如static Slgluimport。 Static import是JDK 1.5中引进的特性,不过读大学那会还真没注意到。它的作…

记一次使用gophish开展的钓鱼演练

这周接到客户要求,组织一次钓鱼演练,要求是发送钓鱼邮件钓取用户账号及个人信息。用户提交后,跳转至警告界面,以此来提高客户单位针对钓鱼邮件的防范意识。 与客户沟通后得知他们企业内部是由邮箱网关的,那么就意味着…

类的实例化

类的实例化 class Date { public:void Init(int year, int month, int day){_year year;_month month;_day day;}private:int _year;int _month;int _day; //这只是函数的一个声明并没有定义 };上面是一个类,我们可以把有花括号括起来的叫做一个域&#xff…

python scrapy框架实现某品牌数据采集

某品牌数据采集 采集需求 地址:http://www.winshangdata.com/brandList 需求:用scrapy框架采集本站数据,至少抓取5个分类,数据量要求5000以上 采集字段:标题、创建时间、开店方式、合作期限、面积要求 网页分析 …

HawkEye设备智能维保平台:助力制药行业设备管理实现数字化转型

随着科技的不断进步和市场竞争的日益激烈,制药行业的设备管理的数字化转型已经成为一个不可逆转的趋势。尤其是在疫情时代,制药企业肩负着重大的社会责任,致使其设备管理的数字化转型之路迫在眉睫。 设备管理的数字化不仅可以提高企业的生产效…

Java实战之网上书店管理系统的实现

目录 1.效果展示2.需求功能3.系统总体设计及部分代码 3.1登录模块设计3.2新用户的注册3.3图书添加模块3.4图书添加事件3.5买家信息维护3.6订单管理模块4.数据库设计 4.1系统数据库设计4.2系统E-R图设计5.JDBC连接数据库 1.效果展示 2.需求功能 用户可以进行注册登陆系统&…

文心大模型企业应用私享会·上海站:共话大模型前沿技术与产业应用创新

当前,人工智能已经成为新一轮科技革命和产业变革的重要驱动力量,基于强算法、大算力和大数据的大模型成为人工智能发展的主流方向。 7月28日下午,“文心大模型企业应用私享会-上海站”于百度飞桨(张江)人工智能产业赋能…

如何压缩图片大小?最新图片压缩技巧分享

现在很多平台对于上传的图片大小都有限制,比如不能超过20k,当图片大小超出该值时就需要进行压缩,下面就针对这个问题给大家分享几个简单实用的图片压缩方法,需要的朋友一起来Get吧~ 一、画图工具 画图是Windows系统自带的工具&am…

BugKu CTF(杂项篇MISC)—善用工具

BugKu CTF(杂项篇MISC)—善用工具 描 述: webp。 下载压缩包。解压得到以后3个文件。 一、工具 十六进制编辑工具 010 editor Free_File_Camouflage图片隐写工具 二、解题思路 1.先看看hint.png,发现打不开,用010 editor编辑器打开是乱码。属性也没…

ipad手写笔有必要买苹果原装吗?平价电容笔推荐

目前,市场上的电容笔品牌越来越多,我们在挑选的时候,很容易就会被坑,比如说,我们买到的那些书写时经常会写字断触,或是防误触功能失效。因此我们在购买时一定要擦亮眼睛。至于那些把ipad当成学习工具的人&a…

展销系统springboot vue展会新闻场地管理java源代码mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 展销系统springboot vue 系统有3权限:管理…

【Java练习题汇总】《第一行代码JAVA》综合测试三,汇总Java练习题

Java练习题 综合测试三 1️⃣ 综合测试三 1️⃣ 综合测试三 线程的启动方法是( )。 A. run() B. start() C. begin() D. accept() Thread 类提供表示线程优先级的静态常量,代表普通优先级的静态常量是( )。 A. MAX_PRIORITY B. MIN_PRIORITY C. NORMAL_PRIORITY D…

亚马逊怎么样下单风控最低

在下单过程中,亚马逊会使用风控措施以保护用户和平台的安全。这些风控措施可能会随着时间和情况的变化而调整,因此最低风控标准也可能会随之改变。 要确保顺利下单,你可以尝试遵循以下几点建议: 1、使用真实有效的个人信息&#…

限流式保护器在古建筑电气火灾中的应用

安科瑞 华楠 【摘要】针对文物古建筑本身火灾危险性大,并且其内部电气问题较多,增加了火灾危险性的特点,提出了预防电气火灾的措施。 【关键词】古建筑;电气防火;限流式保护器; 文物古建筑是中华民族历史文…

Spring的@Scheduled

Spring的Scheduled的默认线程池数量为1,也就是说定时任务是单线程执行的。这意味着最多同时只有一个任务在执行。当一个任务还在执行时,其他任务会等待其完成,然后按照其预定的执行策略依次执行。 测试代码: 启动类上加注解Enab…

ffmpeg + nginx 实现rtsp视频流转m3u8视频流,转码推流(linux)

FFmpeg即是一款音视频编解码工具,同时也是一组音视频编码开发套件,作为编码开发套件,它为开发者提供了丰富的音视频处理的调用接口。 FFmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种多彩格式…

【Spring框架】SpringMVC

目录 什么是Spring MVC实现客户端和程序之间的“连接”1.1 RequestMapping1.2GetMapping1.3PostMapping 获取参数2.1.1 获取单个参数2.1.2 获取多个参数2.1.3 获取对象2.2 后端参数重命名2.3 RequestBody 接收JSON对象2.4 获取URL中参数PathVariable2.5 上传⽂件RequestPart2.6…