【深度学习-信息熵与信息增益】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

熵的应用主要是在决策树方面,信息熵主要用于计算信息增益,信息增益的大小决定了再进行决策树构建时,哪些特征先决策。一般情况,选择信息增益的大的特征先决策,信息增益小的特征后决策


一、信息熵和信息增益计算公式

信息熵计算:
其中,K表示结果的分类,D表示样本总数, C k C_k Ck表示属于某个类别的样本数
H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ l o g ∣ C k ∣ ∣ D ∣ H(D)=-\sum_{k=1}^K\frac{|C_k|}{|D|}log\frac{|C_k|}{|D|} H(D)=k=1KDCklogDCk
条件熵计算:
H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ∑ k = 1 K ∣ D i k ∣ ∣ D i ∣ l o g ∣ D i k ∣ ∣ D i ∣ H(D|A)=\sum_{i=1}^n\frac{|D_i|}{|D|}H(D_i)=-\sum_{i=1}^n\frac{|D_i|}{|D|}\sum_{k=1}^K\frac{|D_{ik}|}{|D_i|}log\frac{|D_{ik}|}{|D_i|} H(DA)=i=1nDDiH(Di)=i=1nDDik=1KDiDiklogDiDik
信息增益计算:
I G a i n ( S , g ) = H ( D ) − H ( D ∣ A ) IGain(S,g)=H(D)-H(D|A) IGain(S,g)=H(D)H(DA)


二、案例

1. 性别和活跃度两个特征,哪个对用户流失影响较大?

uingenderact_infois_lost
10
20
31
40
50
60
71
80
91
100
110
121
131
140
150

样本总数为 D = 15 D=15 D=15,结果分为已流失和未流失2类, K = 2 K=2 K=2,其中样本中已流失有5个, C 1 = 5 C_1=5 C1=5,未流失有10个, C 2 = 10 C_2=10 C2=10,男性有8位,女性有7位,活跃度高的用户有6位,活跃度中的有5位,活跃度低的有4位。

整体熵:
E ( S ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ l o g ∣ C k ∣ ∣ D ∣ = − 5 15 l o g 2 ( 5 15 ) − 10 15 l o g 2 ( 10 15 ) = 0.9182 E(S)=-\sum_{k=1}^K\frac{|C_k|}{|D|}log\frac{|C_k|}{|D|}=-\frac{5}{15}log_2(\frac{5}{15})-\frac{10}{15}log_2(\frac{10}{15})=0.9182 E(S)=k=1KDCklogDCk=155log2(155)1510log2(1510)=0.9182

性别熵:
E ( g 1 ) = − ∑ k = 1 K ∣ D i k ∣ ∣ D i ∣ l o g ∣ D i k ∣ ∣ D i ∣ = − 3 8 l o g 2 ( 3 8 ) − 5 8 l o g 2 ( 5 8 ) = 0.9543 E(g_1)=-\sum_{k=1}^K\frac{|D_{ik}|}{|D_i|}log\frac{|D_{ik}|}{|D_i|}=-\frac{3}{8}log_2(\frac{3}{8})-\frac{5}{8}log_2(\frac{5}{8})=0.9543 E(g1)=k=1KDiDiklogDiDik=83log2(83)85log2(85)=0.9543
E ( g 2 ) = − ∑ k = 1 K ∣ D i k ∣ ∣ D i ∣ l o g ∣ D i k ∣ ∣ D i ∣ = 2 7 l o g 2 ( 2 7 ) − 5 7 l o g 2 ( 5 7 ) = 0.8631 E(g_2)=-\sum_{k=1}^K\frac{|D_{ik}|}{|D_i|}log\frac{|D_{ik}|}{|D_i|}=\frac{2}{7}log_2(\frac{2}{7})-\frac{5}{7}log_2(\frac{5}{7})=0.8631 E(g2)=k=1KDiDiklogDiDik=72log2(72)75log2(75)=0.8631

性别信息增益:
I G a i n ( S , g ) = E ( S ) − 8 15 E ( g 1 ) − 7 15 E ( g 2 ) = 0.0064 IGain(S,g)=E(S)-\frac{8}{15}E(g_1)-\frac{7}{15}E(g_2)=0.0064 IGain(S,g)=E(S)158E(g1)157E(g2)=0.0064

同理,可以计算出活跃度的信息增益。

活跃度熵:
E ( a 1 ) = 0 E(a_1)=0 E(a1)=0
E ( a 2 ) = 0.7219 E(a_2)=0.7219 E(a2)=0.7219
E ( a 3 ) = 0 E(a_3)=0 E(a3)=0

活跃度信息增益:
I G a i n ( S , g ) = 0.6776 IGain(S,g)=0.6776 IGain(S,g)=0.6776

在这里插入图片描述

明显,活跃度的信息增益大于性别的信息增益,说明活跃度对用户流失影响大于性别。在做特征选择或者数据分析的时候,应该重点考察信息增加高的指标。
目前为止,当类别较多时,信息增益的值比较大,在极限情况,样本总数和分类数相等,这样信息增益值达到最大。但是这样分类没有任何意义。因此需要使用信息增益分裂熵来评估最终的决策方案。


  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在sklearn中,计算信息增益率的方法是通过使用决策树模型中的feature_importances_属性来获取特征的重要性程度。在代码中,可以使用clf.feature_importances_来查看特征的重要性程度。\[1\]然而,sklearn库并没有直接提供计算信息增益率的函数。要计算信息增益率,可以使用其他方法,比如先计算信息增益,然后再除以分支度。分支度是一个惩罚项,它考虑了父节点分出的子节点的数量。\[2\]另外,对于连续性变量,可以使用二分法来进行切分,然后计算加权信息熵信息增益,最终得到增益比例。\[3\] #### 引用[.reference_title] - *1* [机器学习--决策树(sklearn)](https://blog.csdn.net/weixin_50918736/article/details/125616968)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [机器学习——有监督——决策树(分类树)相关原理及sklearn实现(信息熵、基尼系数、信息增益、特征重要...](https://blog.csdn.net/huangguohui_123/article/details/105522595)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值