目录
老饼讲解:一步一步上手学习

【演示】bbbrisk-变量分箱

作者 : 老饼 发表日期 : 2026-03-20 16:54:16 更新日期 : 2026-05-13 00:49:32
老饼讲解-简单易懂,干货满满,爽过嗦螺!


在评分卡中,往往需要针对每一个变量进行分析与分箱,本文简单演示利用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)    # 进行卡方分箱,目标箱数5,初始箱数10
bin_stat = br.bins.Bins(bin_set).binStat(x,y)                   # 统计分箱结果
print('\n* 卡方分箱结果:\n',bin_stat)                          # 显示分箱结果

运行结果如下:

卡方分箱结果

好了,以上就是通过使用bbbrisk对变量进行分箱的使用演示了~





图标 评论
添加评论