精华内容
下载资源
问答
  • 信息熵、信息增益信息增益
    千次阅读 多人点赞
    2019-05-10 11:16:41

    信息熵、信息增益与信息增益率

    信息熵(Information Entropy)

    信息熵是用来评估样本集合的纯度的一个参数,就是说,给出一个样本集合,这个样本集合中的样本可能属于好多不同的类别,也可能只属于一个类别,那么如果属于好多不同的类别的话,我们就说这个样本是不纯的,如果只属于一个类别,那么,我们就说这个样本是纯洁的。
      而信息熵这个东西就是来计算一个样本集合中的数据是纯洁的还是不纯洁的。下面上公式:
       E n t ( D ) = − ∑ k = 1 ∣ y ∣ p k l o g 2 p k Ent(D)=-\sum_{k=1}^{\left|y\right|}p_{k}log_{2}p_{k} Ent(D)=k=1ypklog2pk
      下面解释一下公式的意思,其实很好理解,计算一个集合的纯度,就是把集合中每一个类别所占的比例 p k p_k pk(k从1到 ∣ y ∣ \left | y \right | y,其中 ∣ y ∣ \left | y \right | y 表示类别的个数)乘上它的对数,然后加到一起,然后经过计算之后,可以得到一个数据集的信息熵,然后根据信息熵,可以判断这个数据集是否纯粹。信息熵越小的话,表明这个数据集越纯粹。信息熵的最小值为0,此时数据集D中只含有一个类别。

    信息增益(Information Gain)

    下面来介绍信息增益,所谓的信息增益,是要针对于具体的属性来讲的,比如说,数据集D中含有两个类别,分别是好人和坏人,那么,随便选择一个属性吧,比如说性别,性别这个属性中包含两个值,男人和女人,如果用男人和女人来划分数据集D的话,会得到两个集合,分别是 D m a n D_{man} Dman D w o m a n D_{woman} Dwoman。划分后的两个集合中各自有 好人和坏人,所以可以分别计算划分后两个集合的纯度,计算之后,把这两个集合的信息熵求加权平均 D m a n D E n t ( D m a n ) + D w o m a n D E n t ( D w o m a n ) \frac{D_{man}}{D} Ent(D_{man})+\frac{D_{woman}}{D} Ent(D_{woman}) DDmanEnt(Dman)+DDwomanEnt(Dwoman),跟之前没有划分的时候的信息熵 E n t ( D ) Ent(D) Ent(D)相比较,用后者减去前者,得到的就是属性-性别对样本集D划分所得到的信息增益。可以通俗理解为,信息增益就是纯度提升值,用属性对原数据集进行划分后,得到的信息熵的差就是纯度的提升值。信息增益的公式如下:

    G a i n ( D , a ) = E n t ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) Gain(D,a)=Ent(D)-\sum_{v=1}^{V}\frac{\left | D^{v} \right |}{\left | D \right |}Ent(D^{v}) Gain(D,a)=Ent(D)v=1VDDvEnt(Dv)  
      先解释一下上式中的参数,D是数据集,a是选择的属性,a中一共有V个取值,用这个V取值去划分数据集D,分别得到数据集 D 1 D_1 D1 D V D_V DV,分别求这V个数据集的信息熵,并将其求加权平均。两者的差得到的就是信息增益。
      那么这个信息增益有什么用呢?有用,可以根据信息增益值的大小来判断是否要用这个属性a去划分数据集D,如果得到的信息增益比较大,那么就说明这个属性是用来划分数据集D比较好的属性,否则则认为该属性不适合用来划分数据集D。这样有助于去构建决策树。
      著名的算法ID3就是采用信息增益来作为判断是否用该属性划分数据集的标准。

    信息增益率(Information Gain Ratio)

    为什么要提出信息增益率这种评判划分属性的方法?信息增益不是就很好吗?其实不然,用信息增益作为评判划分属性的方法其实是有一定的缺陷的,书上说,信息增益准则对那些属性的取值比较多的属性有所偏好,也就是说,采用信息增益作为判定方法,会倾向于去选择属性取值比较多的属性。那么,选择取值多的属性为什么就不好了呢?举个比较极端的例子,如果将身份证号作为一个属性,那么,其实每个人的身份证号都是不相同的,也就是说,有多少个人,就有多少种取值,它的取值很多吧,让我们继续看,如果用身份证号这个属性去划分原数据集D,那么,原数据集D中有多少个样本,就会被划分为多少个子集,每个子集只有一个人,这种极端情况下,因为一个人只可能属于一种类别,好人,或者坏人,那么此时每个子集的信息熵就是0了,就是说此时每个子集都特别纯。这样的话,会导致信息增益公式的第二项 ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) \sum_{v=1}^{V}\frac{\left | D^{v} \right |}{\left | D \right |}Ent(D^{v}) v=1VDDvEnt(Dv)整体为0,这样导致的结果是,信息增益计算出来的特别大,然后决策树会用身份证号这个属性来划分原数据集D,其实这种划分毫无意义。因此,为了改变这种不良偏好带来的不利影响,提出了采用信息增益率作为评判划分属性的方法。
      公式如下:
       G a i n _ r a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) Gain\_ratio(D,a)=\frac{Gain(D,a)}{IV(a)} Gain_ratio(D,a)=IV(a)Gain(D,a)
      其中 I V ( a ) IV(a) IV(a)的计算方式如下:
       I V ( a ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ l o g 2 ∣ D v ∣ ∣ D ∣ IV(a)=-\sum_{v=1}^{V}\frac{\left | D^v \right |}{\left | D \right |}log_2\frac{\left | D^v \right |}{\left | D \right |} IV(a)=v=1VDDvlog2DDv
       I V ( a ) IV(a) IV(a)被称为是的“固有值”,这个 I V ( a ) IV(a) IV(a)的公式是不是很熟悉啊,简直和信息熵的计算公式一毛一样,就是看属性a的纯度,如果a只含有少量的取值的话,那么a的纯度就比较高,否则的话,a的取值越多,a的纯度越低, I V ( a ) IV(a) IV(a)的值也就越大,因此,最后得到的信息增益率就越低。
      采用信息增益率可以解决ID3算法中存在的问题(ID3会对那些属性的取值比较多的属性有所偏好,如西瓜的颜色有10种),因此将采用信息增益率作为判定划分属性好坏的方法称为C4.5。
      需要注意的是,增益率准则对属性取值较少的时候会有偏好,为了解决这个问题,C4.5并不是直接选择增益率最大的属性作为划分属性,而是之前先通过一遍筛选,先把信息增益低于平均水平的属性剔除掉,之后从剩下的属性中选择信息增益率最高的,这样的话,相当于两方面都得到了兼顾。 (结合信息增益与信息增益率使用)

    作者:DawnChau
    来源:CSDN
    原文:https://blog.csdn.net/u012351768/article/details/73469813
    版权声明:本文为博主原创文章,转载请附上博文链接!

    更多相关内容
  • 本文实例讲述了Python决策树之基于信息增益的特征选择。分享给大家供大家参考,具体如下: 基于信息增益的特征选取是一种广泛使用在决策树(decision tree)分类算法中用到的特征选取。该特征选择的方法是通过计算每个...
  • 主要为大家详细介绍了python实现求特征选择的信息增益,可以同时适用于二值离散型和连续型的属性,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了Python实现基于信息增益的决策树归纳,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 针对人物关系抽取中的效率与准确性问题进行了研究,提出一种基于信息增益的轻量级Web人物社会关系提取方法。它通过计算初始关系元组的关系描述词的信息增益值进而确定元组上下文位置并据此创建相应的关系抽取模板,...
  • 针对多机器人协同SLAM(同步定位与地图构建)的地图融合中,由于通信距离受限或网络拓扑变化造成信息缺失、从而影响全局地图构建的问题,提出一种基于信息增益一致性原理的动态地图融合算法。该算法是完全分布式的,...
  • 针对以上问题,提出了二维信息增益加权的朴素贝叶斯分类算法,进一步考虑到了特征的二维信息增益即特征类别信息增益和特征文档信息增益对分类效果的影响,并设计实验与传统的加权朴素贝叶斯算法相比,该算法在查准率...
  • 相对信息增益:基于RNA序列中相对结构保守性的Shannon熵度量 介绍 RNA的结构表征是一个动态领域,提供了许多建模可能性。 RNA二级结构模型通常以通过字符串表示形式或图形描述分子结构信息的编码为特征。 在重新解释...
  • 我们提出了一种基于信息增益的时间分割方法(IGTS),这是一种无监督的分割技术,旨在从异构传感器数据中查找人类活动和日常活动中的转换时间。 提议的IGTS方法适用于低级别活动,其中每个部分都捕获了将被识别或...
  • c4.5基于信息增益比的多分类决策树python实现,包含数据集,运行结果以字典的形式进行存储
  • 自己用Python3.6.1 写的基于信息增益的决策树,信息熵函数、信息增益函数、多数表决函数、产生决策树的函数写的都比较清楚,直接下载放在python环境中就能出结果,数据用的是周志华老师的《机器学习》的表4.3。
  • matlab版的信息增益算法实现
  • 针对此问题,本文提出一种综合了filter模型及wrapper模型的特征选择方法,首先基于特征之间的信息增益进行特征分组及筛选,然后针对经过筛选而精简的特征子集采用遗传算法进行随机搜索,并采用感知器模型的分类错误...
  • 实验中使用的数据集可在https://yadi.sk/d/wZUpla1CfwX_DQ以 MAT 文件格式获得。
  • 为了在分类精度不受损失的情况下提高训练速度,设计了3种基于信息增益(informationgain,简称IG)特征权重的分类算法,分别被命名为:IG-C1、IG-C2、IG-C。它们根据特征对1G贡献的大小及在新文本中出现的次数进行...
  • 基于信息增益的软件特征技术 (2014年)
  • 针对机器学习领域中的诸多优秀算法只能处理离散属性的特点,提出一种基于词出现和信息增益相结合的多区间连续属性离散化方法(multi-interval discretization based on term presence and information gain,MTPIG)...
  • 信息增益

    万次阅读 多人点赞 2019-05-19 14:15:37
    信息增益 先来定义"信息熵" (information entropy) , 它是度量样本集合纯度最常用的一种指标。假定当前样本集合D 中的第k 类样本所占的比例为(k = 1,2,3 ... ) , 则 D 的信息熵为 ...

    信息增益

              先来定义"信息熵" (information entropy) , 它是度量样本集合纯度最常用的一种指标。假定当前样本集合D 中的第k 类样本所占的比例为 p_{k} (k = 1,2,3 ... | \gamma |) , 则 D 的信息熵为 

                                                                             \operatorname{Ent}(D)=-\sum_{k=1}^{|y|} p_{k} \log _{2} p_{k}

      Ent(D) 的值越小,则D的纯度越高 . 

               假定离散属性 a(西瓜的色泽)有V 个可能的取值 , {青绿,乌黑,浅白,墨绿 ..  }等等吧  ,如果使用a 来对样本集D(西瓜) 进行划分 ,则会产生 V 个分支节点,其中第v 个分支节点包含了D 中所有在属性a上的取值为 a^{v} 的样本 ,记作D^{v} .根据信息熵的计算公式, 计算出

    D^{v}的信息熵 ,再考虑到不同的分支节点所包含的样本数不同,给分支节点赋予 权重 | D^{v} | / |D| ,也就是样本数越多的分支节点影响越大,于是可以计算出用 a 属性对样本D进行划分所获得的"信息增益"(information gain)

                                                                              \operatorname{Gain}(D, a)=\operatorname{Ent}(D)-\sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \operatorname{Ent}\left(D^{v}\right)

                一般来说, 信息增益越大,则意味着使用属性a进行划分所获得的"纯度提升"越大  .因此可以用信息增益来进行决策树的划分属性选择, 在生成一个好的决策树里常会用到 arg max( Gain(D,a)) ,来划分属性 . 

               下面以西瓜数据集为例, 该数据集包含17个样本,用以学习一棵能预测没刨开的是不是好瓜的决策树. 显然 |\mathcal{Y}|=2  , 下图中可以看到,正例 占 8/17 , 反例占 9/17,

                                                          \operatorname{Ent}(D)=-\sum_{k=1}^{2} p_{k} \log _{2} p_{k}=-\left(\frac{8}{17} \log _{2} \frac{8}{17}+\frac{9}{17} \log _{2} \frac{9}{17}\right)=0.998

                         

    然后我们计算出当前属性集合{色泽,根蒂,敲声,纹理,脐部,触感} 中每个属性的信息增益. 以属性"色泽" 为例 ,它有两个可能的取值 :{青绿,乌黑,浅白} .使用该属性对D进行划分, 则可得到 3个 子集 ,分别记为 D1 (色泽=青绿) D2(色泽=乌黑) D3(色泽=浅白).

              子集D1 包含的编号{1,4,6,10,13,17} , 正例(是)占 p1 = 3/6 ,反例(否) 占 p2 = 3/6  ; 

              子集D2 包含的编号 {2,3,7,8,9,15} , 正例占 p1 = 4/6 , 反例占 p2 = 2/6 ; 

              子集D3 包含的编号 {5,11,12,14,16} ,正例占p1 =  1/5 , 反例占p2 =  4/5 ; 

    可计算出"色泽"划分之后所获得的信息熵为: 

                 

      于是 , 计算出属性 " 色泽"的信息增益为 : 

         显然这里 Gain(D,纹理) = 0.381 信息增益最大, 于是他被选为划分属性. 

         

           然后,决策树学习算法将每一个分支节点做进一步划分. 以图中的一个分支节点("纹理= 清晰") 为例, 该节点包含的样例集合 D^{1} 中有编号 {1,2,3,4,5,8,10,15} 的9 个样例,可用的属性集合为 { 色泽,根蒂,敲声,脐部,触感}; 基于 D^{1}计算出各属性的信息增益:

     

         "根蒂" , "脐部" , "触感" 3 个属性均取得最大的信息增益 ,可用选择其中一个作为划分属性, 最终得到:

      

    增益率

      

           事实上用信息增益准则对可取值数目较多的属性有所偏好,为了减少这种偏好可能带来的不利影响,我们会使用 "增益率" ,来选择最优划分属性  , 增益率定义为 : 

                                                    Gain_ratio(D, a)=\frac{\operatorname{Gain}(D, a)}{\operatorname{IV}(a)},  

    其中 

                                                   \mathrm{IV}(a)=-\sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \log _{2} \frac{\left|D^{v}\right|}{|D|}

    称为属性 a 的"固有值" ,属性a 取值数目越多(V越大) ,则 IV(a) 的值通常越大, 需要注意的是增益率准则对可取值数目较少的属性有所偏好,信息增益对可取值数目多的属性有所偏好, 折中一下就是先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的. 

    摘自 : 西瓜书

     

    展开全文
  • 针对人物关系抽取中的效率与准确性问题进行了研究,提出一种基于信息增益的轻量级 .Web人物社会关系提取方法。它通过计算初始关系元组的关系描述词的信息增益值进而确定元组上下文位置并据此创建相应的关系抽取模板...
  • 分析了传统信息增益(IG)特征选择方法忽略了特征项在类间、类内分布信息的缺点,引入类内分散度、类间集中度等因素,区分与类强相关的特征;针对传统信息增益(IG)特征选择方法没有很好组合正相关特征和负相关特征...
  • python手动计算信息增益2019年5月23日 17:49 by wst算法实践概念阐述对于决策树, 以前看了很多遍, 但是总感觉摸不着它.里面有个很重要的概念: 信息增益.今天就来手动实现下, 实现之前先说下它的概念(这个定义里好多...

    python手动计算信息增益

    2019年5月23日 17:49 by wst

    算法实践

    概念阐述

    对于决策树, 以前看了很多遍, 但是总感觉摸不着它.

    里面有个很重要的概念: 信息增益.

    今天就来手动实现下, 实现之前先说下它的概念(这个定义里好多名词都有经验二字,是因为都是根据样本得到的).

    特征 A 对训练数据集D的信息增益 g(D,A) 定义为: 集合D的经验熵 H(D) 与特征A给定条件下D 的经验条件熵 H(D|A) 之差, 即:

    g(D,A) = H(D) - H(D|A)

    通俗的说就是:  在一个条件给定情况下,信息不确定性减少的程度!

    在决策树生成过程中,每次选择信息增益最大的那个特征作为节点.

    举例说明

    以买瓜为例,夏天到了, 大家都比较爱吃西瓜, 但是怎么样才能买个好瓜呢? 要不然回家媳妇(女朋友)该说了, 你什么情况? 买个西瓜都买不好. 为了避免挨说, 还是得学好决策树, 搞清楚信息增益是怎么回事.

    数据如下: (下载方式: 链接: https://pan.baidu.com/s/1Gr1TLaVwuwi9lO6BcdjoAQ 提取码: wr9j )

    编号

    色泽

    根蒂

    敲声

    纹理

    脐部

    触感

    好瓜

    1

    青绿

    蜷缩

    浊响

    清晰

    凹陷

    硬滑

    2

    乌黑

    蜷缩

    沉闷

    清晰

    凹陷

    硬滑

    3

    乌黑

    蜷缩

    浊响

    清晰

    凹陷

    硬滑

    4

    青绿

    蜷缩

    沉闷

    清晰

    凹陷

    硬滑

    5

    浅白

    蜷缩

    浊响

    清晰

    凹陷

    硬滑

    6

    青绿

    稍蜷

    浊响

    清晰

    稍凹

    软粘

    7

    乌黑

    稍蜷

    浊响

    稍糊

    稍凹

    软粘

    8

    乌黑

    稍蜷

    浊响

    清晰

    稍凹

    硬滑

    9

    乌黑

    稍蜷

    沉闷

    稍糊

    稍凹

    硬滑

    10

    青绿

    硬挺

    清脆

    清晰

    平坦

    软粘

    11

    浅白

    硬挺

    清脆

    模糊

    平坦

    硬滑

    12

    浅白

    蜷缩

    浊响

    模糊

    平坦

    软粘

    13

    青绿

    稍蜷

    浊响

    稍糊

    凹陷

    硬滑

    14

    浅白

    稍蜷

    沉闷

    稍糊

    凹陷

    硬滑

    15

    乌黑

    稍蜷

    浊响

    清晰

    稍凹

    软粘

    16

    浅白

    蜷缩

    浊响

    模糊

    平坦

    硬滑

    17

    青绿

    蜷缩

    沉闷

    稍糊

    稍凹

    硬滑

    假设我们已经构建好了决策树,现在买了一个西瓜,它的特点是纹理是清晰,根蒂是硬挺的瓜,你来给我判断一下是好瓜还是坏瓜,恰好,你构建了一颗决策树,告诉他,没问题,我马上告诉你是好瓜,还是坏瓜?

    根据决策树的算法步骤,我们可以得到下面的图示过程:

    e574ab63fe9cffae9d5383134026ff61.png

    f807f8ab9cfc1dc8f09a8d8b73d4aa3f.png

    到达叶子结点后,从而得到结论。我这个瓜的判断是坏瓜(要挨说了)。

    这里我们重点来说一下,在树每一层的生长过程中,如何选择特征!每一层选择好了特征之后,树也就自然建好了

    第一个节点(每个节点都是如此)该怎么选呢?  根据我们的结论: 选择信息增益最大的那个特征作.

    根节点下正例(好瓜)占 8/17,反例占 9/17 ,根结点的信息熵为

    fd9fd53e7911f58e3e17f92f0f48e86a.png

    现在可选的特征有:{色泽,根蒂,敲声,纹理,脐部,触感},我们分别计算他们的信息增益:

    色泽特征有3个可能的取值:{青绿,乌黑,浅白}

    D1(色泽=青绿) = {1, 4, 6, 10, 13, 17},正例 3/6,反例 3/6 -- 6,3,3

    D2(色泽=乌黑) = {2, 3, 7, 8, 9, 15},正例 4/6,反例 2/6 -- 6,4,2

    D3(色泽=浅白) = {5, 11, 12, 14, 16},正例 1/5,反例 4/5 -- 5,1,4

    3 个分支结点的信息熵

    7b41b26500d39c0f50fa02d8ac1c5469.png

    那么我们可以知道属性色泽的信息增益是:

    21fc9db7b33491682e54551751d6f645.png

    同理,我们可以求出其它属性的信息增益,分别如下:

    dc895fd0d26c5793b9130f4d09bb206f.png

    根据后文的代码,计算过程为(里面的数字,通过excel筛选即可得到):

    # 色泽

    In [21]: h(8,9,[[6,3,3],[6,4,2],[5,1,4]])

    Out[21]: 0.10812516526536531

    # 根蒂

    In [22]: h(8,9,[[8,5,3],[7,3,4],[2,0,2]])

    Out[22]: 0.14267495956679288

    # 敲声

    In [23]: h(8,9,[[5,2,3],[2,0,2],[10,6,4]])

    Out[23]: 0.14078143361499584

    # 纹理

    In [24]: h(8,9,[[3,0,3],[9,7,2],[5,1,4]])

    Out[24]: 0.3805918973682686

    # 脐部

    In [25]: h(8,9,[[7,5,2],[4,0,4],[6,3,3]])

    Out[25]: 0.28915878284167895

    # 触感

    In [26]: h(8,9,[[5,2,3],[12,6,6]])

    Out[26]: 0.006046489176565584

    于是我们找到了信息增益最大的属性纹理,它的Gain(D,纹理) = 0.381最大。

    于是我们选择的划分属性为“纹理”

    如下:

    8c60aa1f8047c7c13dfc94f6331eaf8f.png于是,我们可以得到了三个子结点,对于这三个子节点,我们可以递归的使用刚刚找信息增益最大的方法进行选择特征属性,

    比如:D1(纹理=清晰) = {1, 2, 3, 4, 5, 6, 8, 10, 15},下次可选的属性集合{色泽、根蒂、敲声、脐部、触感},基于 D1各属性的信息增益,分别求得如下:

    dc5203c2f3d28181cd83fd735ca587b8.png

    手动编码计算:

    In [1]: import pandas as pd

    In [2]: import numpy as np

    In [3]: import math

    In [14]: def lg(v):

    ...: if v==0:

    ...: return 0

    ...: return -v*math.log(v,2)

    ...:

    ...:

    In [15]: def h(f_1, f_0, matrix):

    ...: a = f_1+f_0

    ...: d = lg(f_1/a) + lg(f_0/a)

    ...: m = 0

    ...: for lis in matrix:

    ...: m += lis[0]/a * (lg(lis[1]/lis[0]) + lg(lis[2]/lis[0]))

    ...: return d-m

    ...:

    ...:

    In [16]: h(7,2,[[4,3,1],[4,3,1],[1,1,0]])

    Out[16]: 0.04306839587828004

    In [17]: h(7,2,[[5,5,0],[3,2,1],[1,0,1]])

    Out[17]: 0.45810589515712374

    In [18]: h(7,2,[[2,2,0],[1,0,1],[6,5,1]])

    Out[18]: 0.33085622540971754

    In [19]: h(7,2,[[5,5,0],[1,0,1],[3,2,1]])

    Out[19]: 0.45810589515712374

    In [20]: h(7,2,[[3,1,2],[6,6,0]])

    Out[20]: 0.45810589515712374

    代码说明:

    f_1 -- 好瓜个数, f_0 -- 坏瓜个数, matrix -- 里面有多行, 每一行代表一个属性值的情况: 此属性值个数、此属性值下好瓜的个数、此属性值下坏瓜的个数。

    比如色泽属性,在纹理清晰的情况下,有7个好瓜,2个坏瓜。同时:

    色泽青绿的有4个,这4个中有3个好瓜、1个坏瓜;

    色泽乌黑的有4个,这4个中有3个好瓜、1个坏瓜;

    色泽浅白的有1个,这1个是好瓜;

    此时matrix为:

    [ [4, 3, 1],

    [4, 3, 1],

    [1, 1, 0]]

    函数调用方式为:h(7,2,[[4,3,1],[4,3,1],[1,1,0]]), 值为0.043

    同理,可以算出来根蒂的信息增益为:0.458;敲声:0.331,脐部:0.458,触感:0.458

    于是我们可以选择特征属性为根蒂,脐部,触感三个特征属性中任选一个(因为他们三个相等并最大),其它俩个子结点同理,然后得到新一层的结点,再递归的由信息增益进行构建树即可

    我们最终的决策树如下:

    29fb2d9b396e007e4b1e0c6cdc1ab6a7.png

    参考:

    作者:忆臻

    链接:https://www.zhihu.com/question/22104055/answer/161415527

    来源:知乎

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    Comment

    ×

    Name

    Email address

    Comment

    Close

    Submit

    Not Comment!

    展开全文
  • 线性判别分类器是一种有效的模式分析技术,...引进信息增益,建立基于信息增益的最优组合因子判别分类器,实现最优组合因子判别分类器的优化。实验结果表明优化后的分类器有效剔除了冗余因子,具有良好的分类准确率。
  • 信息增益比: 信息增益比算法修正了信息增益算法中会对某一特征取值较多时产生偏向的情况。 综上,最优特征选择思路很简单,就是遍历所有的特征寻找信息增益或者信息增益比最大的特征。 可以看到生成决策树时涉及到...

    其中『年龄』属性的三个取值{0, 1, 2}对应{青年、中年、老年};『有工作』、『有自己房子』属性的两个取值{0, 1}对应{否、是};『信贷情况』的三个取值{0, 1, 2}对应{一般、好、非常好};『类别』属性表示是否同意贷款取值{0, 1}对应{否、是}。

    这种模型等同于我们写的条件语句,所以它的预测分类速度是很快的。

    • 所有数据从根节点开始
    • 自上而下分而治之
    • 样本根据属性集递归进行分割
    • 通过一定规则或算法选择属性
    • 每个节点上的数据都是同一类时则停止分割
    • 根据样本训练出来的决策树尽可能与样本集没有矛盾且有预测能力
    • 决策树生成只考虑局部最优,剪枝则全局最优

    ID3和C4.5算法:ID3决策树算法在决策树生成的过程中,每个节点使用的是信息增益来选择分割属性。大致的步骤是从根节点开始,分别假设各个属性作为分割时的信息增益,即是像上面属性分割选择过程那样计算,选出信息增益最大的属性作为根节点的分割属性。完成后根据属性又可以分成若干分支,每个分支对应一个子节点,然后又根据上面的步骤计算不同属性的信息增益,不断递归下去,直到某节点以每个属性作为分割时的信息增益都很小或已经没有属性可以选择,这时则停止计算,得到一个最终的决策树。

    C4.5与ID3创建决策树的过程类似,不同的是它的属性划分的选择是根据信息增益率的,而不是使用信息增益。

    信息增益:

    要理解信息增益的首要前提是理解『熵』这一抽象概念。

    『熵』是信息的一个度量单位,在信息论与概率统计中,『熵』表示随机变量不确定性的程度,变量的不确定性越大,『熵』就越大,要了解(评估)这一变量需要的信息量也就越多。

    信息增益比:

    信息增益比算法修正了信息增益算法中会对某一特征取值较多时产生偏向的情况。

    综上,最优特征选择思路很简单,就是遍历所有的特征寻找信息增益或者信息增益比最大的特征。

    可以看到生成决策树时涉及到一个阈值,这个阈值是代表了能够算法忍受的最低信息不确定性因子,因为不管使用信息增益或者是信息增益比算法,其核心都是以最小化特征𝑨对𝑫的不确定性亦𝑯(𝑫|𝑨),当𝑯(𝑫|𝑨)无限逼近𝑯(𝑫)时,此时可以说特征𝑨对于了解𝑫事件来说毫无意义,因此这个阈值就是在限定这种情况的最低限度。


    因本人水平尚浅,文中一定存在许多纰漏或者错误的地方,恳请各位热心学者批评指正。
    参考链接:https://juejin.cn/post/6844903556529537037、https://juejin.cn/post/6844904069203492878

    展开全文
  • 理解 信息量、信息熵 和 信息增益

    千次阅读 2022-01-27 11:33:28
    如何通俗易懂的理解 信息量、信息熵 和 信息增益。 ——决策树核心概念
  • 该方法在融合输入图像的细节信息时,同时考虑了输入图像的多个分解层的小波系数。实验结果表明,无论是依据均方根误差、信噪比、灰度平均误差等客观评价标准,还是视觉的主观评价,所提出的融合方法都能取得较好的...
  • 在开始解释信息熵和信息增益之前,我们先来解释一下什么是信息:能消除不确定性的内容才能叫信息,而告诉你一个想都不用想的事实,那不叫信息。 比如数据分析师的工作经常是要用数据中发现信息,有一天上班你告诉...
  • 一.创建数据集 乳腺癌数据集breast-cancer.txt含有10个属性(包括决策属性)共286条...属性信息 1. Class: no-recurrence-events, recurrence-events 2. age: 10-19, 20-29, 30-39, 40-49, 50-59, 60-69, 70-79, 80

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,989
精华内容 19,195
关键字:

信息增益

友情链接: 裁剪算法.zip