bbbrisk-api说明

【演示】用bbbrisk对变量进行分箱

作者 : 老饼 发表日期 : 2022-06-26 14:00:00 更新日期 : 2025-03-05 15:43:08
本站原创文章,转载请说明来自《老饼讲解-机器学习》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 








内容纠正