信息熵、信息增益、信息增益比「建议收藏」

信息熵、信息增益、信息增益比「建议收藏」信息熵“信息熵”是度量样本集合纯度最常用的一种指标。假定当前样本集合D中第k类样本所占的比例为pk(k=1,2,…,|y|),则D的信息熵定义为:Ent(D)的值越小,则D的纯度越高。如果上面的解释不容易理解,那么下面再通俗地解释一下:首先来看一下信息熵这个公式在数轴上的表示:可以看到,在概率为0.5的时候,信息熵是最大的(为1)。我们可以把信息熵理解为“不确定性”,当概率为0.5…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

信息熵

“信息熵”是度量样本集合纯度最常用的一种指标。假定当前样本集合D中第k类样本所占的比例为pk(k=1,2,…,|y|),则D的信息熵定义为:
在这里插入图片描述
Ent(D)的值越小,则D的纯度越高。

如果上面的解释不容易理解,那么下面再通俗地解释一下:
首先来看一下信息熵这个公式在数轴上的表示:
在这里插入图片描述
可以看到,在概率为0.5的时候,信息熵是最大的,为1。
我们可以把信息熵理解为“不确定性”,当概率为0.5时,比如抛硬币,出现正反两面的概率都是0.5,所以这个事件的不确定性是最大的;当一个事件发生的概率为0或1的时候,那这个事件就是必然事件了,不确定性为0,所以信息熵最低,为0。

信息增益

假定离散属性a有V个可能的取值{a1,a2,a3,…,aV},若使用a来对样本集D进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为av的样本,记为Dv。我们可根据信息熵的式子计算出Dv的信息熵,再考虑到不同的分支结点所包含的样本数不同,给分支结点赋予权重|Dv|/|D|,即样本数越多的分支结点的影响越大,于是可计算出用属性a对样本集D进行划分所获得的“信息增益”:
在这里插入图片描述
下面来看一个简单的数据集:
在这里插入图片描述
该数据集包含17个训练样例,显然|y|=2,即“好瓜”和“非好瓜”。
正例占p1=8/17,反例占p2=9/17。于是可计算出根结点的信息熵为:
在这里插入图片描述
然后,我们要计算出当前属性集合{色泽,根蒂,敲声,纹理,脐部,触感}中每个属性的信息增益。以属性“色泽”为例,它有3个可能的取值。若使用该属性对D进行划分,则可得到3个子集,分别记为D1(色泽=青绿),有6个样本;D2(色泽=乌黑),有6个样本;D3(色泽=浅白),有5个样本。
则这3个分支结点的信息熵分别为:在这里插入图片描述
于是可计算出属性“色泽“的信息增益为:
在这里插入图片描述
同理,我们可计算出其他属性的信息增益:
在这里插入图片描述
显然,“纹理”的信息增益最大。
这表示什么呢,通俗地讲,就是“纹理”这个属性是最能让我们买到好瓜的一个参照点。

信息增益比

在上面的介绍中,我们有意忽略了“编号”这一列,若把“编号”也作为一个候选划分属性,则可计算出它的信息增益为0.998,远大于其他候选划分属性。这很容易理解:
“编号”将产生17个分支,每个分支结点仅包含一个样本,这些分支结点的纯度已达最大,即分支结点的信息熵为0。
所以不难得出,信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,推出“信息增益比”来选择最优划分属性。

信息增益比的定义为:
在这里插入图片描述
其中
在这里插入图片描述
称为属性a的“固有值”。属性a的可能取值数目越多(即V越大),则IV(a)的值通常会越大。通过这种方式,来对可取值数目较多的属性作出惩罚。例如,对该西瓜数据集,有:
IV(触感)=0.874 (V=2),
IV(色泽)=1.580 (V=3),
IV(编号)=4.088 (V=17)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234836.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 2012年第一篇博文——致谢:2011年中国IT十大杰出博客获奖感言「建议收藏」

    2012年第一篇博文——致谢:2011年中国IT十大杰出博客获奖感言「建议收藏」在2012新年伊始之际,非常荣幸获得了2011年度十大杰出IT博客的殊荣,非常感谢各界朋友和同仁、51CTO的编辑、《网络协议本质论》和《蜕变:从菜鸟到Linux安全专家》等个人专著的热心读者在大赛期间对我的支持、关心和陪伴。51CTO博客是一个非常好的展示自己、促进交流、提升自我的平台。我以前专注于技术研究和项目管理,2年前通过51CTO这么一个好的平台找到了一条与大…

  • python第三方库的安装方法有哪些_python第三方库在哪个文件夹

    python第三方库的安装方法有哪些_python第三方库在哪个文件夹简单来说如果是系统自带的python,会使用dist-packages目录;如果你手动安装python,它会直接使用目录site-packages。这允许你让两个安装隔离开来。dist-packages:系统自带的pythonsite-packages:自己安装的pythonPython的包的安装路径如下1、系统自带python系统自带软件管理器安装,模块将被安装到dist-packages相…

    2022年10月14日
  • ALERT! UUID=xxxxxxxxx does not exist. Dropping to a shell!

    ALERT! UUID=xxxxxxxxx does not exist. Dropping to a shell!ALERT!UUID=xxxxxxxxxdoesnotexist.Droppingtoashell!文章目录ALERT!UUID=xxxxxxxxxdoesnotexist.Droppingtoashell!问题描述我的解决过程写在最后问题描述ubuntu18.04非正常关机后打不开了,先是黑屏显示:ACPIError:Needtype[Refe…

  • UART接口控制器

    UART接口控制器主设备与从设备通过总线来进行数据通信,是一个数字系统不可或缺的一部分,本篇讲述一种常见的总线控制器UART串行数据接口,也称为串口。串口的标准一般有,RS-232、RS-422与RS-485标准,我们讲述的是RS-232接口信号。1、接口信号定义RS-232最常见的是9脚接口表1-1:RS-232接口定义在实际的应用中,我们只需要关注两个接口,数据接收(RXD)和数据发送(TXD),而…

  • Anaconda详细安装及使用教程(带图文)

    Anacond的介绍Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。Conda是一个开源的包、环境管理器,可以用于…

  • 从源码角度彻底理解ReentrantLock(重入锁)

    从源码角度彻底理解ReentrantLock(重入锁)[TOC]1.前言在"ReentrantLock(重入锁)功能详解和应用演示"这篇文章里我们讲解并演示了ReentrantLock(重入锁)的各种功能,其中就谈到Reent

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号