python评分卡建模-实现WOE编码及IV值计算
在往期的文章中,小編多次寫到過WOE和IV值的內(nèi)容,也貼過相關(guān)的SAS代碼,感興趣的同學(xué)可以翻閱歷史消息。這篇文章就不多介紹WOE及IV值的概念,主要講講怎么用python實現(xiàn)WOE編碼和IV值的計算。
代碼
實例
下面用UCI信用卡逾期數(shù)據(jù)集介紹一下以上代碼的用法。
數(shù)據(jù)集如下:
數(shù)據(jù)集有20多個變量,其中響應(yīng)變量是 'default payment next month',為了方便,將其改名為 'y'。
現(xiàn)在小編想要對年齡(AGE)變量做WOE編碼。
這里的年齡是連續(xù)型變量,首先需要進行分箱。方法有很多種,這里我們可以用上一篇文章中介紹的卡方分箱算法對AGE進行分箱。
分箱的切分點
有了切分點,對AGE變量切分,得到分組值:
然后計算各組的WOE值:
也可以計算IV值。
IV值0.023,看樣子還是比較弱的變量。還是可以用的,所以需要轉(zhuǎn)成WOE。
需要說明的是對于類別型的變量,可以直接算woe編碼,也可以合并類別后再編碼。
本文的代碼沒有做多少封裝,主要是便于各位同學(xué)理解。當(dāng)然,也有許多值得探討的問題,如除以0的情況怎么處理,本文不打算深入探究,感興趣的同學(xué)可以自己學(xué)習(xí)研究。
今天的內(nèi)容就介紹這么多,謝謝大家的支持~~
總結(jié)
以上是生活随笔為你收集整理的python评分卡建模-实现WOE编码及IV值计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【待继续研究】建模-听说你的坏样本不太够
- 下一篇: 数据挖掘建模之常见概率分布总结