其他
python评分卡建模—实现WOE编码及IV值计算
The following article is from 风控建模 Author 东东&Monica
本文主要讲讲怎么用python实现WOE编码和IV值的计算。
代码
实例
下面用UCI信用卡逾期数据集介绍一下以上代码的用法。
数据集如下:
数据集有20多个变量,其中响应变量是 'default payment next month',为了方便,将其改名为 'y'。
现在小编想要对年龄(AGE)变量做WOE编码。
这里的年龄是连续型变量,首先需要进行分箱。方法有很多种,这里我们可以用上一篇文章中介绍的卡方分箱算法对AGE进行分箱。
cutoffs = chiMerge(df,'AGE','y',max_groups=6)
cutoffs
分箱的切分点
array([21, 26, 36, 46, 60, 62])
有了切分点,对AGE变量切分,得到分组值:
然后计算各组的WOE值:
也可以计算IV值。
IV值0.023,看样子还是比较弱的变量。还是可以用的,所以需要转成WOE。
需要说明的是对于类别型的变量,可以直接算woe编码,也可以合并类别后再编码。
本文的代码没有做多少封装,主要是便于各位同学理解。当然,也有许多值得探讨的问题,如除以0的情况怎么处理,本文不打算深入探究,感兴趣的同学可以自己学习研究。
来源|风控建模
作者|东东&Monica
更多精彩,戳这里:
2018开年大课,阅读原文,即可报名