查看原文
其他

python评分卡建模—实现WOE编码及IV值计算

66号学苑 2022-09-08

The following article is from 风控建模 Author 东东&Monica

本文主要讲讲怎么用python实现WOE编码和IV值的计算。


代码








实例

下面用UCI信用卡逾期数据集介绍一下以上代码的用法。


数据集如下:



数据集有20多个变量,其中响应变量是 'default payment next month',为了方便,将其改名为 'y'。



现在小编想要对年龄(AGE)变量做WOE编码。


这里的年龄是连续型变量,首先需要进行分箱。方法有很多种,这里我们可以用上一篇文章中介绍的卡方分箱算法对AGE进行分箱。



  1. cutoffs = chiMerge(df,'AGE','y',max_groups=6)



  2. cutoffs



分箱的切分点



  1. array([21, 26, 36, 46, 60, 62])




有了切分点,对AGE变量切分,得到分组值:



然后计算各组的WOE值:



也可以计算IV值。



IV值0.023,看样子还是比较弱的变量。还是可以用的,所以需要转成WOE。



需要说明的是对于类别型的变量,可以直接算woe编码,也可以合并类别后再编码。


本文的代码没有做多少封装,主要是便于各位同学理解。当然,也有许多值得探讨的问题,如除以0的情况怎么处理,本文不打算深入探究,感兴趣的同学可以自己学习研究。


来源|风控建模

作者|东东&Monica


更多精彩,戳这里:


|这是一份可以让你很牛很牛的风控技能包|

|评分卡第一课:数据选取与抽样|

|评分卡第二课:数据清理与选取|

I运用机器学习构建可行的反欺诈检测方案|

|反欺诈四大手段一秒get|


 2018开年大课,阅读原文,即可报名


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存