IV、WOE和信息增益、基尼不纯度比较

(作者:陈玓玏)
最开始学机器学习的时候,只知道决策树是用信息增益或者基尼不纯度来选择切分变量的,实际也是选择区分度好、与分类结果相关性高的变量。自从真的开始做这份工作之后,才接触到还有一个很重要的评估变量重要性的指标,就是IV。下面我们可以分别来看一下这三个指标。

1、信息增益

信息增益是基于熵的概念的,熵表征的是信息的混乱程度,熵越大,数据集越混乱。信息熵表示的是得知特征 Xj X j 的信息而使所属分类的不确定性减少的程度,也就是能够最大程度地区分特征,一旦知道特征值属于某个区间,基本就能很大程度地提升其属于某个分类的概率。

对于一个训练集而言,令特征A对训练数据集D的信息增益为g(D,A),那么这个训练集的信息熵就定义为集合D的经验熵H(D),与特征A给定的情况下D的经验条件熵H(D|A)之差。

g(D,A)=H(D)H(D|A) g ( D , A ) = H ( D ) − H ( D | A )

假设数据集D有K种分类,特征A有n种取值可能。
其中数据集D的经验熵H(D)为

H(D)=k=1KPklogPk2 H ( D ) = − ∑ k = 1 K P k log 2 P k

其中 Pk P k 为集合D中的任一样本数据分类k的概率,或者说属于分类k的样本所占的比例。
经验条件熵H(D|A)为

H(D|A)=i=1nPiH(Di) H ( D | A ) = − ∑ i = 1 n P i H ( D i )

其中 Pi P i 为特征取值为第i个可取值的概率。 Di D i 为特征A为第i个可取值的样本集合。

2、基尼不纯度

前面介绍的信息增益主要是用于早期的决策树算法ID3算法,用作特征选择。但是使用信息增益作为特征选择容易出现特征可选值多时,信息增益越大的问题。直观地理解也可以知道了,当特征可选值多的时候,集合自然是不确定性越大了,所以基于熵计算出来的信息增益也就越大,所以C4.5改进了ID3,使用了信息增益比。

在C4.5的改进算法CART树中,使用的是基尼不纯度来衡量特征的重要性,主要用于解决信息增益和信息增益比存在大量对数运算,计算复杂度高的问题。基尼系数越小,则不纯度越低,特征越好。这和信息增益(比)是相反的。

对以某个特征为基准进行划分后的子集计算基尼不纯度,即计算随机放置的数据项出现于错误分类中的概率,以此来评判属性对分类的重要程度。下面是集合划分前的基尼不纯度:

Gini(D)=k=1KPk(1Pk)=1Pk2 G i n i ( D ) = ∑ k = 1 K P k ( 1 − P k ) = 1 − P k 2

其中 Pk P k 为任一样本点属于第k类的概率,也可以说成样本数据集中属于k类的样本的比例。
划分钱集合D的基尼指数为Gini(D),以特征A为基准划分后集合D的基尼指数为:

Gini(D|A)=|Di||D|Gini(Di) G i n i ( D | A ) = ∑ | D i | | D | G i n i ( D i )

其中 |Di| | D i | 为特征A取第i个值时对应的样本个数。|D|为总样本个数。

3、IV和WOE

1.IV

IV的全称是Information Value,中文意思是信息价值,或者信息量。IV值的作用和信息增益、信息增益比、基尼不纯度类似,都是用作特征选择的,但是构建决策树时,决策树建树的过程本身就会计算特征的重要性,而逻辑回归这类的算法并不会要求计算特征重要性,然而不重要的特征掺入模型又会使得模型很容易过拟合,所以在进行逻辑回归等算法建模时,通常会先计算IV值,进行特征筛选,并且在模型运用的过程中,还要长期监控特征IV值的变化。

那么IV值是如何计算的呢?那就涉及到另外一个概念了:WOE,因为IV值的计算是基于WOE的。

2.WOE
WOE的全称是“Weight of Evidence”,即证据权重。WOE是对原始自变量的一种编码形式,是把原始自变量表征成它对分类结果的区分程度,看公式就懂了:

WOEi=ln(pyi/pni)=ln(yi/yTni/nT) W O E i = ln ⁡ ( p y i / p n i ) = ln ⁡ ( y i / y T n i / n T )

WOEi W O E i 代表对一个变量进行分组后,也就是进行离散化处理后,第i组的WOE值。其中,

其中, pyi p y i 是这个组中正样本数占所有正样本数的比例, pni p n i 是这个组中的负样本数占所有负样本数的比例, yi y i 这些变量的含义也就显而易见了。

知道WOE的计算公式之后,我们就可以给出IV的计算公示了:

同样,对于分组i,也会有一个对应的IV值,计算公式如下:

IVi=(pyipni)WOEi I V i = ( p y i − p n i ) W O E i

从公式我们可以看出,当一个变量分组后具有极端值时,也就是这个变量无论取什么值,其对应的样本全部都为正样本,或者全部都为负样本时,IV值为0,那么这样的样本是没有意义的。也就是说,能够将正样本和负样本有效区分开的,才是好的特征,否则按照这个特征来划分样本,和不划分没有任何区别。

有了一个变量各分组的IV值,我们就可以计算整个变量的IV值,方法很简单,就是把各分组的IV相加:

IV=i=1NIVi I V = ∑ i = 1 N I V i

其中,N为变量分组个数。

4、思考信息增益、IV值、基尼不纯度、信息增益比的区别

作者粗浅地想了一下这个问题,觉得这几个指标虽然都是衡量特征重要性的,但还是存在以下几个区别:
1、信息增益和信息增益比是基于熵的,掺杂了大量的对数运算,计算复杂度最高,而IV值和基尼不纯度不存在这个问题;
2、信息增益存在特征可能的特征值越多,特征重要性越高的特点,而其他三个指标不存在这个问题;
3、IV值在计算前有先对特征进行离散化,而其他的不需要先做离散化,决策树在建树过程中是对特征所有出现了的值进行区间划分的,但IV进行离散化之后再做计算其实是减小了很多计算量的;
4、IV值在解释一个特征为什么重要时,显得更直观。
以后如果想到了再补充,当然了,如果懒得计算IV值的话,直接用GBDT和XGBoost等集成学习的树模型做特征筛选就好了,这些模型自带特征值重要性计算的。

参考链接:
1. https://blog.csdn.net/luanpeng825485697/article/details/78795504
2. https://blog.csdn.net/kevin7658/article/details/50780391

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值