表一 满足什么情况才去玩高尔夫

Day Temperatrue Outlook Humidity Windy PlayGolf?
07-05 hot sunny high false no
07-06 hot sunny high true no
07-07 hot overcast high false yes
07-09 cool rain normal false yes
07-10 cool overcast normal true yes
07-12 mild sunny high false no
07-14 cool sunny normal false yes
07-15 mild rain normal false yes
07-20 mild sunny normal true yes
07-21 mild overcast high true yes
07-22 hot overcast normal false yes
07-23 mild sunny high true no
07-26 cool sunny normal true no
07-30 mild sunny high false yes

决策树是机器学习中的经典算法,分别由三个经典算法实现:ID3,C4.5,CART,这三个算法最明显的区别就是对于特征选择的策略不同,不过目的只有一个:使当前数据集的混乱程度降低。具体来说,ID3ID3使用的信息增益,C4.5使用的信息增益比,CART使用的Gini指数(基尼指数)

对于ID3和C4.5的信息增益和信息增益比有什么区别呢,为什么放着信息增益不用,又要计算一个gainratio呢?这就是下面的内容要讨论的。

讨论之前先来几个公式压压惊。

在信息论与概率统计中,熵(entropy)是表示随机变量不确定性的度量[2]。设X的概率分布为

则随机变量XX 的熵定义为

其实公式看起来挺吓人的,但是计算的时候很简单。拿表一作为计算的例子,假设

本来ID3算法计算信息增益好好的,但是C4.5一定要计算信息增益比(gainratio)这是为什么呢? 
还是以表一为例,假如我们想用Day来做为特征(当然实际上一般人也不会傻到用Day用做特征),显然,每一天都可以将样本分开,也就是形成了一颗叶子数量为14,深度只有两层的树。这种样本分隔的结果就是计算出来的H(D|Day)=0,那么g(D,Day)=0.9403,这特征可真是够“好”的!不过显然这种特征对于样本的分隔没有任何意义。类似的情况还有人们的身份证号、信用卡号、学号等等特征。 
那么导致这样的偏差的原因是什么呢?从上面的例子应该能够感受出来,原因就是该特征可以选取的值过多。解决办法自然就想到了如何能够对树分支过多的情况进行惩罚,这样就引入了下面的公式,属性A的内部信息(Intrinsic Information of an Attribute):

总结上面的公式,计算得到下表:

OutLook Temperatrue
Gain:0.940-0.693 = 0.247 Gain:0.940-0.911 = 0.029
Gain ratio: 0.245/1.577 = 0.157 Gain ratio:0.029/1.557 = 0.019
Humidity Windy
Gain:0.940-0.788 = 0.152 Gain:0.940-0.911 = 0.029
Gain ratio: 0.152/1.000 = 0.152 Gain ratio:0.048/0.985 = 0.049
Day
Gain ratio:0.940/3.807 = 0.246

然而。。。最终还是DayDay的特征优势最大。。。Orz 
不过虽然这样,信息增益率还是要比信息增益可靠的多的!另外也可以看出,对特征的筛选也是非常重要的步骤,可以减少信息增益率失效的几率。

[1] http://www.ke.tu-darmstadt.de/lehre/archiv/ws0809/mldm/dt.pdf 
[2] 李航. 统计学习方法.

转载自:https://blog.csdn.net/olenet/article/details/46433297

信息增益比 vs 信息增益相关推荐

  1. java 信息增益_对信息增益(IG,Information Gain)的理解和计算

    可能理解的不对. 决策树构建中节点的选择靠的就是信息增益了. 信息增益是一种有效的特征选择方法,理解起来很简单:增益嘛,肯定是有无这个特征对分类问题的影响的大小,这个特征存在的话,会对分类系统带来多少 ...

  2. 信息增益matlab实现,信息增益matlab实现

    一般地,一个决策树包含一个根节点,若干个内部节点和若干个叶节点,叶结点对应决策结果,其他每个节点对应于一个属性测试,每个结点包含的样本集合根据属性测试的结果被划分到子节点中:根节点包含样本全集,从根节 ...

  3. 特征工程(3):特征选择—信息增益

    信息增益,基于信息熵来计算,它表示信息消除不确定性的程度,可以通过信息增益的大小为变量排序进行特征选择.信息量与概率呈单调递减关系,概率越小,信息量越大. 1. 基本概念 1.1 信息量 信息量的数学 ...

  4. 最大信息熵增益_机器学习笔记(三)——搞懂决策树必备的信息增益

    一.何为决策树 决策树是监督学习算法之一,并且是一种基本的分类与回归方法:决策树也分为回归树和分类树,本文讨论的是分类树.如果了解或者学过数据结构,肯定对"树"这个概念是不陌生的, ...

  5. 信息论常见概念:熵、互信息、KL散度和信息增益

    文章目录 信息论在机器学习中的常见概念 1. 信息量 2. 熵 3. 联合熵 4. 条件熵 5. 相对熵 6. 互信息 7. 信息增益 公式与推导 信息论在机器学习中的常见概念 信息的不确定度表示. ...

  6. 机器学习基础(三)——信息、信息熵与信息增益

    信息:information,信息熵:information entropy,信息增益:information gain(IG) 划分数据集的大原则是:将无序的数据变得更加有序.组织杂乱无章数据的一种 ...

  7. 决策树--信息增益、信息增益比、Geni指数的理解

    决策树 是表示基于特征对实例进行分类的树形结构 从给定的训练数据集中,依据特征选择的准则,递归的选择最优划分特征,并根据此特征将训练数据进行分割,使得各子数据集有一个最好的分类的过程. 决策树算法3要 ...

  8. 机器学习-第2关:信息熵与信息增益

    import numpy as np def calcInfoGain(feature, label, index): ''' 计算信息增益 :param feature:测试用例中字典里的featu ...

  9. 通俗理解决策树算法中的信息增益(最朴实的大白话,保准能看懂)

    信息增益 文章目录 信息增益 概念 例子 结论 在决策树算法的学习过程中, 信息增益是特征选择的一个重要指标,它定义为一个特征能够为分类系统带来多少信息,带来的信息越多,说明该 特征越重要, 相应的信 ...

最新文章

  1. RetinaFace Mxnet转TensorRT
  2. 20150127--Session入库
  3. UA MATH563 概率论的数学基础2 随机变量1 随机变量与分布函数
  4. Python编程基础:第三十三节 文件复制Copy a File
  5. [PHP] 算法-数组重复数字统计的PHP实现
  6. 首次公开:京东数科强一致、高性能分布式事务中间件 JDTX
  7. 财务管理的革新带动财务软件的变革
  8. 小游戏掉帧卡顿启动慢运行内存不足……这些问题有解吗?
  9. C# 使用 DirectoryInfo 递归指定目录中的所有目录及文件
  10. angularJs select绑定的model 取不到值
  11. [BZOJ5286][洛谷P4425][HNOI2018]转盘(线段树)
  12. python设置横坐标间隔_如何在matplotlib中更改刻度之间的间距?
  13. oracle instr函数 判断字段中是否有换行符
  14. php1008打印机驱动器,hp laserjet p1008打印机驱动
  15. 计算机基础表格制作教学设计,word中表格制作教学设计精选
  16. 分享一段可以直接下载新浪微博视频的小程序
  17. 职业规划(一)怎么写简历
  18. 自适应,响应式以及图片的性能优化(响应式图片)
  19. 2022-2028年全球与中国救生艇行业市场前瞻与投资战略规划分析
  20. linux怎么静态改为自动获取,Linux系统下设置静态IP或自动获取动态IP的简单方法...

热门文章

  1. MySQL利用存储过程新增字段
  2. 云计算——云计算部署形成及应用
  3. linux修改时间显示格式
  4. linux系统卡死鼠标不动,linux桌面环境鼠标假死.点不动
  5. Simulink建立Rayleigh信道——Fading和AWGN模块学习笔记
  6. windows下载安装Zeal
  7. 如何解决 尝试加载 Oracle 客户端库时引发 BadImageFormatException
  8. 一场特殊的高峰对谈圆桌,中西方大拿华山论剑
  9. ]巧妙洗头,白发变黑发
  10. STM32F103学习笔记(5)—— 大彩屏使用——串口通信工程级应用