本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
在评分卡中,往往需要针对每一个变量进行分析与分箱
本文简单演示利用bbbrisk对单个变量进行分箱的方法与效果
在bbbrisk中,可以按约定格式设置变量的分箱,然后统计出变量在分箱中的分布、IV与badrate
示例如下:
import bbbrisk as br
# 加载数据
data = br.datasets.load_bloan() # 加载数据
x = data['rev'] # rev变量
y = data['is_bad'] # 标签
br.display.pd.set(width=300,max_colwidth=30,max_rows=30) # 美化pandas的显示方式
bin_set = [[0,0.1],(['-',0],[0.1,0.37]),[0.37,0.64],([0.64,1.2],[2,'+']),[1.2,2]] # 设置变量的分箱
bin_stat = br.bins.Bins(bin_set).binStat(x,y) # 统计分箱结果
print('\n',bin_stat) # 显示分箱结果
运行结果如下:
可以看到,通过手动配置好分箱,然后就可以统计出样本在分箱的分布,以及iv和badrate
bbbrisk提供了卡方分箱、KS分箱、决策树分箱等常用自动分箱算法,可以快速对变量进行分箱
演示代码与效果如下:
import bbbrisk as br
data = br.datasets.load_bloan() # 加载数据
x = data['rev'] # rev变量
y = data['is_bad'] # 样本标签
bin_set = br.bins.merge.chi2(x,y,bin_num=5,init_bin_num=10) # 进行卡方分箱,bin_num是目标箱数,init_bin_num是初始箱数
bin_stat = br.bins.Bins(bin_set).binStat(x,y) # 统计分箱结果
print('\n* 卡方分箱结果:\n',bin_stat) # 显示分箱结果
运行结果如下:
好了,以上就是通过使用bbbrisk对变量进行分箱的使用演示了~
End