评分卡建模工具scorecardpy全解读

评分卡建模工具
说到评分卡建模工具,做过评分卡的应该都能想到谢博士的scorecardpy和专为工业界模型开发设计的Python工具包–Toad,两者相比,scorecardpy更加轻量级,且依赖较少,可以满足大多数场景下的评分卡构建。

为了使评分卡建模流程更加便捷,该Python包针对建模中各个关键步骤都提供了现成的函数,如下:

数据集划分 (split_df)
变量筛选(iv, var_filter)
变量分箱(woebin, woebin_plot, woebin_adj, woebin_ply)
分数转换(scorecard, scorecard_ply)
效果评估(perf_eva, perf_psi)
基于github主页上提供的案例,对每一步操作进行详细解读:

数据准备

import scorecardpy as sc

加载德国信用卡相关数据集

dat = sc.germancredit()

得到的数据集情况如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#通过 var_filter() 函数筛选后,数据集保留以下13个变量
'''默认的参数配置为:iv_limit=0.02, missing_limit=0.95, identical_limit=0.95,
即当某个变量的 IV 值小于0.02,或缺失率大于95%,或同值率(除空值外)大于95%,
则剔除掉该变量。

此外,该方法还内置了除上述以外的其他参数:

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')

其中各参数含义如下:

varrm可设置强制保留的变量,默认为空;
varkp可设置强制剔除的变量,默认为空;
return_rm_reason可设置是否返回剔除原因,默认为不返回(False);
positive可设置坏样本对应的值,默认为“bad|1”'''
#数据集划分,划分为训练集和测试集
train,test=sc.split_df(dt_s,'creditability').values()
'''split_df()函数包括以下参数:

def split_df(dt, y=None, ratio=0.7, seed=186)

默认的切分比例为7:3,也可自行修改参数ratio设置不同的切分比例。'''
'''变量分箱

可通过woebin()函数对全部变量进行自动分箱,并基于woe_bin的结果,
使用woebin_plot对各变量分箱的count distribution和bad pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值