wo5656500

2020-04-28   阅读量: 890

机器学习

决策树种熵的理解

扫码加入数据分析学习群

决策树是用于分类的统计模型。

熵的概念

熵是来衡量随机变量的不确定性的。Shannon entropy来定量化了这种不确定性。

有以下公式

H(x)=∑iP(xi)I(xi)=−∑iP(xi)logbP(xi)

H(x)=∑iP(xi)I(xi)=−∑iP(xi)logbP(xi)

接下来通过例子来说明。

比如投硬币,正面和反面的概率都是1/2,在这种情况下,一个比特就可以来传递每一次的结果。投了4次硬币,2次正面,2次反面。根据香农公式那么熵就为E1=-1/2log2(1/2)-1/2log2(1/2)=1

同理如果每次都是证明的话,那么熵为0.

接下来来理解一下比特(bits)的概念

考虑三种可能结果的情况,正,负,中三种结果。其中正的结果2次,负的结果1次,中的结果1次。根据公式熵为1.5.

信息增益

信息增益是用来选取属性的。被选择的分类属性,信息增益是最高的。

信息增益的方法会偏向于选择将样本分为多类的属性,而这个属性对于机器学习可能是没有意义的。

因此用信息增益的方式来选取特征。

比如对于特征A的信息增益有以下公式

Gain(A)=Info(D)−InfoA(D)

Gain(A)=Info(D)−InfoA(D)

where

InfoA(D)=∑j=1v|Dj||D|×Info(Dj)

InfoA(D)=∑j=1v|Dj||D|×Info(Dj)

相当于增加了对于分类过多的惩罚。

首先通过信息增益的计算来进行选取。

1)如果选取性别作为特征,那么

Info(Dgender=male)=−2/2log2(2/2)=0

Info(Dgender=male)=−2/2log2(2/2)=0

同理可得Info(Dgender=female)=1Info(Dgender=female)=1

InfoGender(D)=2/4(0)+2/4(1)=0.5InfoGender(D)=2/4(0)+2/4(1)=0.5

Gain(Gender)=1Gain(Gender)=1

2)以年龄为特征,则

Gain(Age)=0.5Gain(Age)=0.5

Gain(Gender)>Gain(Age)Gain(Gender)>Gain(Age) 因此选性别作为特征。

但是这种选取有一个问题,假如我们增加了一个观点序号的特征,那个这个特征可以将数据分为4类。则Gain("Opinionno")=1.5Gain("Opinionno")=1.5 在这种情况下观点序号就被选作了特征,显然是不合理的。

增益率

用增益率来解决以上问题,这个方法很简单直接,就是对分类太多的特征进行一定的惩罚。

有以下公式

SplitInfoA(D)=−∑j=1v|Dj||D|×log2(|Dj||D|)

SplitInfoA(D)=−∑j=1v|Dj||D|×log2(|Dj||D|)

Gainratio(A)=Gain(A)SplitInfo(A)

Gainratio(A)=Gain(A)SplitInfo(A)

GainRatio("OpinionNo")=1.5/2=0.75

GainRatio("OpinionNo")=1.5/2=0.75

GainRatio(Gender)=1/1=1

GainRatio(Gender)=1/1=1

GainRatio(Age)=0.5/1=0.5

GainRatio(Age)=0.5/1=0.5

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
59.8596 3 1 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子