(转载)我们为什么需要信息增益比,而不是信息增益?

我们为什么需要信息增益比,而不是信息增益?

之前不知道为何要用信息增益比,信息增益比相对于信息增益有何优势,看了这篇文章感觉博主所述比较详细,特此转载用作复习

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

    
    
  • 1
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

决策树是机器学习中的经典算法,分别由三个经典算法实现:ID3C4.5CARTID3,C4.5,CART指数(基尼指数)

对于ID3ID3呢?这就是下面的内容要讨论的。

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

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

P(X=Xi)=pi,i=1,2,...,nP(X=Xi)=pi,i=1,2,...,n

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

p1=Num(no)/(Num(no)+Num(yes))p1=Num(no)/(Num(no)+Num(yes))

条件熵定义为

H(D|A)=i=1npiH(Y|A=ai)H(D|A)=∑i=1npiH(Y|A=ai)
经验条件熵,再举一个例子,假如把Outlook作为分隔样本的特征的话,那么

E(Outlook=sunny)=25log2535log35=0.971E(Outlook=sunny)=−25log25−35log35=0.971

所以

H(D|A)=5140.971+4140+5140.971=0.693H(D|A)=514⋅0.971+414⋅0+514⋅0.971=0.693

得到了熵和条件熵,那么信息增益就好求了,公式如下

g(D,A)=H(D)H(D|A)g(D,A)=H(D)−H(D|A)
,信息增益越大说明该特征对于减少样本的不确定性程度的能力越大,也就代表这个特征越好。这种选择特征的思路就是ID3算法选择特征的核心思想。

本来ID3ID3

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

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] 李航. 统计学习方法.

我们为什么需要信息增益比,而不是信息增益?

之前不知道为何要用信息增益比,信息增益比相对于信息增益有何优势,看了这篇文章感觉博主所述比较详细,特此转载用作复习

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

  
  
  • 1
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

猜你喜欢

转载自blog.csdn.net/github_39294291/article/details/84102161