转载自   通俗理解决策树算法中信息增益的

通俗理解决策树算法中的信息增益

在决策树算法的学习过程中,信息增益是特征选择的一个重要指标,它定义为一个特征能够为分类系统带来多少信息,带来的信息越多,说明该特征越重要,相应的信息增益也就越大。

1、概念

我们前面说了,信息熵是代表随机变量的复杂度(不确定度)通俗理解信息熵,条件熵代表在某一个条件下,随机变量的复杂度(不确定度)通俗理解条件熵

而我们的信息增益恰好是:信息熵-条件熵。

换句话说,信息增益代表了在一个条件下,信息复杂度(不确定性)减少的程度。

那么我们现在也很好理解了,在决策树算法中,我们的关键就是每次选择一个特征,特征有多个,那么到底按照什么标准来选择哪一个特征。

这个问题就可以用信息增益来度量。如果选择一个特征后,信息增益最大(信息不确定性减少的程度最大),那么我们就选取这个特征。

2、例子

我们有如下数据:

可以求得随机变量X(嫁与不嫁)的信息熵为:

嫁的个数为6个,占1/2,那么信息熵为-1/2log1/2-1/2log1/2 = -log1/2=0.301

现在假如我知道了一个男生的身高信息。

身高有三个可能的取值{矮,中,高}

矮包括{1,2,3,5,6,11,12},嫁的个数为1个,不嫁的个数为6个

中包括{8,9} ,嫁的个数为2个,不嫁的个数为0个

高包括{4,7,10},嫁的个数为3个,不嫁的个数为0个

先回忆一下条件熵的公式如下:

我们先求出公式对应的:

H(Y|X = 矮) = -1/7log1/7-6/7log6/7=0.178

H(Y|X=中) = -1log1-0 = 0

H(Y|X=高) = -1log1-0=0

p(X = 矮) = 7/12,p(X =中) = 2/12,p(X=高) = 3/12

则可以得出条件熵为:

7/12*0.178+2/12*0+3/12*0 = 0.103

那么我们知道信息熵与条件熵相减就是我们的信息增益,为

0.301-0.103=0.198

所以我们可以得出我们在知道了身高这个信息之后,信息增益是0.198

3、结论

我们可以知道,本来如果我对一个男生什么都不知道的话,作为他的女朋友决定是否嫁给他的不确定性有0.301这么大。

当我们知道男朋友的身高信息后,不确定度减少了0.198,不确定度只有0.103这么大了,(果不确定是0就最好了,我肯定嫁给他,因为他好的没有悬念,哈哈).也就是说,身高这个特征对于我们广大女生同学来说,决定嫁不嫁给自己的男朋友是很重要的。

至少我们知道了身高特征后,我们原来没有底的心里(0.301)已经明朗一半多了,减少0.198了(大于原来的一半了)。

那么这就类似于非诚勿扰节目里面的桥段了,请问女嘉宾,你只能知道男生的一个特征。请问你想知道哪个特征。

假如其它特征我也全算了,信息增益是身高这个特征最大那么我就可以说,孟非哥哥,我想知道男嘉宾的一个特征是身高特征。因为它在这些特征中,对于我挑夫君是最重要的,信息增益是最大的,知道了这个特征,嫁与不嫁的不确定度减少的是最多的。

哈哈,希望能对理解信息增益有所帮助。

通俗理解决策树算法中信息增益的相关推荐

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

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

  2. 【机器学习】通俗的决策树算法讲解和应用

    [机器学习]通俗的决策树算法讲解和应用 文章目录 1 概述 2 决策树场景 3 决策树开发流程 4 决策树的实际运用 5 机器学习决策树算法解决图像识别-ENVI决策树分类 6 总结 1 概述 决策树 ...

  3. weka操作实现决策树算法中打球与天气的关系

    weka是基于JAVA环境下开源的机器学习(machine learning)以及数据挖掘(data mining)软件.今天我们首次使用weka操作一下决策树算法中模拟打球和天气关系.! 首先可以通 ...

  4. 通过实例理解决策树算法(ID3,C4.5,Cart算法)

    (一)实例:使用ID3算法给出"好苹果"的决策树 (二)决策树的工作原理 我们在做决策树的时候,会经历两个阶段:构造和剪枝. 构造原理--构造的过程就是选择什么属性作为节点的过程, ...

  5. 决策树算法中处理噪音点

    目录 如何解决?--采用剪枝的方法. 预剪枝 后剪枝 如果训练集中存在噪音点,模型在学习的过程总会将噪音与标签的关系也学习进去,这样就会造成模型的过拟合化,也就是模型在训练集的分类效果很好,在未知数据 ...

  6. scikit-learn 决策树算法中特征(自变量)重要性的计算

    sklearn.tree.DicisionTreeClassifier类中的feature_importances_属性返回的是特征的重要性,feature_importances_越高代表特征越重要 ...

  7. 信息增益率C语言,决策树算法在高职院校成绩分析中的应用研究的论文

    决策树算法在高职院校成绩分析中的应用研究的论文 摘 要:高职院校的学生的成绩是一项重要的数据,它不仅是对学生学习情况的评价,也是对教师教学质量的检查.本文研究了使用决策树算法对学生的成绩进行挖掘分析, ...

  8. 通俗理解信息熵、条件熵、信息增益

    转自知乎 https://zhuanlan.zhihu.com/p/26486223 ,https://zhuanlan.zhihu.com/p/26551798 作者:忆臻 主页:https://w ...

  9. 决策树算法(三)——计算香农熵

    写在前面的话 如果您有任何地方看不懂的,那一定是我写的不好,请您告诉我,我会争取写的更加简单易懂! 如果您有任何地方看着不爽,请您尽情的喷,使劲的喷,不要命的喷,您的槽点就是帮助我要进步的地方! 计算 ...

最新文章

  1. stg游戏c语言,坦克大战改版
  2. windows 下安装 scrapy报错:error: Unable to find vcvarsall.bat
  3. php+redis队列流程
  4. 逆向工程核心原理学习笔记(四):检索API方法2-设置断点
  5. bool类型数组转换成一个整数_「PHP」常用的数组键值操作函数,面试重点
  6. 16 FI配置-财务会计-为准备激活销售会计核算的成本
  7. python函数的嵌套调用_python函数的嵌套调用
  8. android rtc 不能写时间到 rtc 原因分析
  9. 大型网站限流算法的实现和改造
  10. Jenkins + Docker 简单部署 node.js 项目
  11. 如何缩小jpg图片大小?jpg格式怎么压缩?
  12. 紫乌鸦服务器维护后多久刷,魔兽世界紫乌鸦怎么刷 刷新点在哪什么时候去蹲点...
  13. 如何取消Word文档的只读模式或者限制编辑
  14. Qt5给Excel添加批注
  15. 迪杰斯特拉和弗洛伊德算法
  16. 图神经网络(CNN)一
  17. chrome 插件 页面请求转发_使用chrome扩展程序及jsonp实现跨域访问
  18. IPP与Opencv配合使用
  19. ADODB.Recordset 错误 '800a0bb9' 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
  20. Android Manifest merger failed with multiple errors参考解决方法

热门文章

  1. 算法题目——第K大的数
  2. java 声明变量构成_Java—变量
  3. 7-40 奥运排行榜 (25 分)(详解+思路+map+vector做法)兄弟们冲压呀呀呀呀呀呀呀
  4. 字符串匹配经典题目——KMP算法(Leetcode题解-Python语言)
  5. 使用Microsoft Word2016无法正常对Latex文本转换的踩坑和解决方法
  6. c语言 大数相加,c/c++开发分享C语言计算大数相加的方法
  7. 数学中R,Z,N,Q都代表什么意思?
  8. [设计模式]代理模式
  9. [蓝桥杯2018初赛]次数差-模拟,map容器
  10. Matlab生成棋盘格点图