信息增益(ID3)

信息增益(ID3)

ref

通俗理解kaggle比赛大杀器xgboost

note

信息增益:用于量化分类的效果;用**熵(entropy)**去量化信息增益,熵的取值范围是[0,1]

E n t r o p y ( S ) = − p 负 l o g 2 p 负 − p 正 l o g 2 p 正 Entropy(S)=-p_负log_2p_负-p_正log_2p_正 Entropy(S)=plog2pplog2p
p 正 p_正 p p 负 p_负 p是正、负样本数占总样本数的比值(如果是计算预测后的分类比例,那Entropy(S)就表示预测效果好坏了)

可以发现:

  • 当全部是同一类的时候,entropy的值就是0
  • 当正负样本数各占一半时,entropy的值为1
  • 其他情况时,介于**(0,1)**之间

个人想法:

那也就是说,当要预测的数据是非平衡数据集(极端是只存在一类),那么这个公式就不太适用了,或许可以加上正负比的权重

熵的变化曲线:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aAFat7jJ-1640833021777)(images/aHR0cDovL2hpLmNzZG4ubmV0L2F0dGFjaG1lbnQvMjAxMjAxLzgvMF8xMzI2MDE4MDAzQUR3Si5naWY-16408327057202-16408327088863.gif)]

demo

举例来说,假设S是一个关于布尔概念的有14个样例的集合,它包括9个正例和5个反例(我们采用记号[9+,5-]来概括这样的数据样例),那么S相对于这个布尔样例的熵为:

Entropy([9+,5-])=-(9/14)log2(9/14)-(5/14)log2(5/14)=0.940。

So,根据上述这个公式,我们可以得到:

  • 如果S的所有成员属于同一类,则Entropy(S)=0;

  • 如果S的正反样例数量相等,则Entropy(S)=1;

  • 如果S的正反样例数量不等,则熵介于0,1之间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值