以二分类为例,西瓜书分瓜好坏
先算根节点(哪一类)的信息熵 E n t ( D ) = − ∑ i = 1 2 p ( x i ) l o g p ( x i ) Ent(D)=-\sum \limits_{i=1} ^{2}p(x_i)logp(x_i) Ent(D)=−i=1∑2p(xi)logp(xi) 对好瓜和坏瓜进行计算
再计算属性中(色泽,根蒂等)那个作为接下的分支比较好:
- 可以先随机选取一个属性,然后计算这个属性中取各个数值的信息熵。例如,选取色泽,而色泽可以取值:青绿,乌黑,浅白。
- 比如算青绿的信息熵, − ∑ i = 1 2 p ( x i ) l o g p ( x i ) -\sum \limits_{i=1} ^{2}p(x_i)logp(x_i) −i=1∑2p(xi)logp(xi) 还是只有两类,这取值为青绿的瓜两种:好瓜或者坏瓜。乌黑,浅白也分别都是两种。(这是个二分类,不是这种(好瓜),就是那种(坏瓜))
- 接着算色泽的信息增益。因为色泽这个属性下的所有取值的信息熵算出来了。
G a i n ( D , a ) = E n t ( D ) − ∑ i = 1 v D v D E n t ( D v ) \qquad \qquad \qquad Gain(D,a)=Ent(D) -\sum \limits_{i=1} ^{v}\frac {D^v}{D}Ent(D^v) Gain(D,a)=Ent(D)−i=1∑vDDvEnt(Dv)
D D D:所有样本
v v v:当前选择属性的所有取值。例如色泽可以取值:青绿,乌黑,浅白
D v D^v Dv:属性下某个取值的样本,比如青绿色的瓜(只要是青绿色就可以,无论是好的坏的)。
D v D \frac {D^v}{D} DDv:例如,青绿色的瓜在所有瓜的比值
\qquad 决策树我觉得,重要的分清三个词:类别、类别包含的属性、属性的取值