决策树信息熵

一. 什么是决策树

决策树在优化过程中,有3个经典的算法,分别是ID3,C4.5,和CART。后面的算法都是基于前面算法的一些不足进行改进的,这里用ID3算法。

二. 一个案例

大家可能赖床过,早上要不要赖床是一个问题。它取决于多个变量,下面就让我们看看小明的赖床习惯。

季节 时间是否过8点 风力情况 要不要赖床
春天 微风
冬天 无风
秋天 微风
冬天 无风
夏天 微风
冬天 微风
冬天 大风
冬天 无风
春天 无风 不要
夏天 大风 不要
夏天 大风 不要
秋天 微风 不要

我们随机抽了一年中12天小明的赖床情况。现在我们可以根据这些数据来构建一颗决策树。可以发现,数据中有三个属性会影响到最终的结果,分别是,季节,时间是否过8点,风力情况。

要构建一颗决策树,首先我们要找到它的根,我们需要计算每一个属性的信息熵。

从数据我们可以知道,12天中,有赖床为8天,不赖床为4天。

p(赖床)=8/12

p(不赖床)=4/12

分裂前的熵值为:(保留三位小数)

Entropy(S)=-(8/12) log_2⁡(8/12)-(4/12) log_2⁡(4/12)=-(2/3) log_2⁡(2/3)-(1/3) log_2⁡〖(1/3)=-(2/3)〗 (log_2⁡〖2-log_2⁡3 〗 )-(1/3)(log_2⁡〖1-log_2⁡3 〗 )=-(2/3)(1-1.585)-(1/3)(0-1.585)=0.6670.585+0.3331.585=0.918

这次我用风力情况作为分支属性的分裂情况

“风力情况”中的“微风情况”中有4个正例,1个反例子,其熵值为:

Entropy(微风情况)=-(4/5) log_2⁡〖(4/5)-(1/5) log_2⁡〖(1/5)=-(0.8)(2-2.322)-〗 〗 (0.2)(0-2.322)=0.2576+0.4644=0.722

赞赏

微信赞赏支付宝赞赏

发表评论