熵 互信息 Gini指数 和 不纯度
在学习决策树类的算法时,总是绕不开 信息熵、Gini指数和它们相关联的概念,概念不清楚,就很难理解决策树的构造过程,现在把这些概念捋一捋。
信息熵
信息熵,简称熵,用来衡量随机变量的不确定性大小,熵越大,说明随机变量的不确定性越大。计算公式如下:

考虑二元分布的情况,当取2为对数底时,可以得到如下的函数曲线。可以看到,当p=0.5时,不确定性最大,熵的值是1,也最大,当p=0或1时,没有不确定性,熵的值最小,是0。

条件熵
我们在分析某个特征对随机变量的影响时,需要计算条件熵,即随机变量Y的信息熵相对特征X的条件期望,公式如下:

互信息
互信息,也叫信息增益,是熵和条件熵的差值,g(Y,X) = H(Y) - H(Y|X)。
信息增益的含义是,某一个特征会使得随机变量的不确定性下降多少。下降的越多,说明这个特征与标签的相关性越强,分类效果自然越好。在构造决策树时,常用的做法是选择信息增益更大的特征构造分支。
另外,在构造决策树时,信息增益有两种算法,一是差值(ID3),二是比值(C4.5),比值是差值与特征的信息熵的比例,公式如下所示:


比值比差值能更准确的反应不确定性变化的程度,原因是,如果按差值选取节点,那些取值数量更多的特征总是会排在前面,在比值的计算公式中,分母可以度量特征的取值数量,相当于对各个特征做了归一化,所以不会出现,特征取值数量多,信息增益一定更大的情况。
Gini指数
Gini指数和熵类似,都是衡量随机变量不确定程度的,计算公式是:

Gini指数有一个比较直观的解释:从样本中任意挑选两个,两个样本属于不同类别的概率就是Gini指数。从Gini指数的定义和解释就可以发现,它和熵和类似,不确定性越大,Gini指数和熵也越大。不同点在于Gini指数的最大值是0.5,不是1。把Gini指数公式和信息熵公式都变换成求和的形式,可以发现二者只相差一个乘积项,Gini指数是 1-p,信息熵是-log(p),就是这么一点点差别。
Gini指数的另一种说法是不纯度(impurity),Gini指数越大,不确定性越大,数据越混乱,不纯度越高。
笔者没研究过信息熵和Gini指数的发迹史,但可以猜测,Gini指数和信息熵很可能是不同领域的研究者分别建立的评价不确定性的指标,从含义上看,二者殊途同归。在实际使用时,往往用Gini指数来构造CART。
熵 互信息 Gini指数 和 不纯度的更多相关文章
- 决策树-预测隐形眼镜类型 (ID3算法,C4.5算法,CART算法,GINI指数,剪枝,随机森林)
1. 1.问题的引入 2.一个实例 3.基本概念 4.ID3 5.C4.5 6.CART 7.随机森林 2. 我们应该设计什么的算法,使得计算机对贷款申请人员的申请信息自动进行分类,以决定能否贷款? ...
- 用Excel建模进行决策树分析
决策树(Decision Tree)在机器学习中也是比较常见的一种算法,最早的决策树算法是ID3,改善后得到了C4.5算法,进一步改进后形成了我们现在使用的C5.0算法,综合性能大幅提高. 算法核心: ...
- 决策树--信息增益,信息增益比,Geni指数的理解
决策树 是表示基于特征对实例进行分类的树形结构 从给定的训练数据集中,依据特征选择的准则,递归的选择最优划分特征,并根据此特征将训练数据进行分割,使得各子数据集有一个最好的分类的过程. ...
- 笔记︱风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本笔记源于CDA-DSC课程,由常国珍老师主讲 ...
- 风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...
- 决策树 ID3 C4.5 CART(未完)
1.决策树 :监督学习 决策树是一种依托决策而建立起来的一种树. 在机器学习中,决策树是一种预测模型,代表的是一种对象属性与对象值之间的一种映射关系,每一个节点代表某个对象,树中的每一个分叉路径代表某 ...
- AI工程师基础知识100题
100道AI基础面试题 1.协方差和相关性有什么区别? 解析: 相关性是协方差的标准化格式.协方差本身很难做比较.例如:如果我们计算工资($)和年龄(岁)的协方差,因为这两个变量有不同的度量,所以我们 ...
- 【十大经典数据挖掘算法】CART
[十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 前言 分类与回归树(Class ...
- CART分类与回归树与GBDT(Gradient Boost Decision Tree)
一.CART分类与回归树 资料转载: http://dataunion.org/5771.html Classification And Regression Tree(CART)是决策 ...
随机推荐
- python中的argsort函数
>>> import numpy >>> help(numpy.argsort) Help on function argsort in module numpy. ...
- 【好文收藏】javascript中event对象详解
event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如,fromEleme ...
- MVC中用View.bag保存json字符串。在js中使用,不用ajax请求。。。。
有时候我们只需要使用一次json数据,这时候直接在后台查出json,然后用view.bag传到前台使用,就会很方便..(在前台用ajax请求的话,感觉有点多余..) 上代码 后台: public Ac ...
- MathType只有你会的几个技巧
太阳的后裔终于结局了,我们的乔妹被宋仲基撩走了,其中的撩妹技能你学到了几招?没学会,不要紧,还有MathType!只要你会MathType这几个技巧,撩妹绝对杠杠的.这可是连宋仲基都不会的! Math ...
- 手机web不同屏幕字体大小高度自适应
body{font-size:0.6rem:} <script> //使用rem策略,不断更新html的fontsize (function(){ function sizeHtm ...
- scala的基础部分
最近接触到spark,spark又是scala编写的,所以需要学习一下scala. scala是面向对象的,一切皆为对象, 数值,函数都是对象. println("Welcome to th ...
- m2014-architecture-imgserver->Lighttpd Mod_Cache很简单很强大的动态缓存
Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全.快速.兼容性好并且灵活的web server环境.具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模 ...
- CentOS5.5环境下布署LVS+keepalived
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://kerry.blog.51cto.com/172631/401253 #!/bin ...
- Path类和File类的应用
今天是我学习C#基础的第13天,可以说马上就要结束这个基础课程,感觉学习的理论性的我不能说全部掌握了,我只想说在思路上面的语法以及用法我应该基本掌握了,感觉效果不错,不得不说,要想在一种语言上面有大的 ...
- Oracle 11G Client 客户端安装步骤(图文详解)
http://www.cnblogs.com/jiguixin/archive/2011/09/09/2172672.html 下载地址: http://download.oracle.com/otn ...