Python中信贷评分卡中常用的两个库有scorecardpy和Toad。其中scorecardpy是由谢士晨博士开发,Toad是由厚本金融风控团队内部孵化产生的标准评分卡库。关于Toad的使用,之前已经写过学习教程,Toad库使用教程,今天学习一下scorecardpy库的使用。github链接见:
scorecardpy
该软件包是R软件包评分卡的python版本。它的目标是通过提供一些常见任务的功能,使传统信用风险计分卡模型的开发更加轻松有效。该包的功能及对应的函数如下:
- 数据划分(split_df)
- 变量选择(iv, var_filter)
- 变量分箱(woebin, woebin_plot, woebin_adj, woebin_ply)
- 评分转换(scorecard, scorecard_ply)
- 模型评估(perf_eva, perf_psi)
首先,导入germancredit数据。
import scorecardpy as sc
dat = sc.germancredit()
dt_s = sc.var_filter(dat, y="creditability")
这个函数可以根据指定的条件筛选变量,例如IV值、缺失率、一致性等,函数的参数如下:
def var_filter(dt, y, x=None, iv_limit=0.02, missing_limit=0.95,
identical_limit=0.95, var_rm=None, var_kp=None,
return_rm_reason=False, positive='bad|1')
var_rm:强制删除变量的名称
var_kp:强制保留变量的名称
return_rm_reason:是否返回每个变量被删除的原因
positive:坏样本的标签
数据划分
train, test = sc.split_df(dt_s, 'creditability').values()
def split_df(dt, y=None, ratio=0.7, seed=186)
该函数的ratio默认为0.7,即按照7:3对数据集进行分割。ratio可以随意进行设置,比如[0.5,0.2]
变量分箱
bins