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

【说明】函数说明-bins.merge.chi2Enum

作者 : 老饼 发表日期 : 2026-03-21 01:22:01 更新日期 : 2026-05-13 00:50:51
老饼讲解-简单易懂,干货满满,爽过嗦螺!


API说明:bins.merge.chi2Enum- 卡方分箱(枚举变量)

一、函数说明

bins.merge.chi2Enum用于将连续变量进行卡方分箱,返回分箱的结果。

卡方分箱就是先用等频分箱对变量进行初始分箱,然后根据卡方值逐步合并,直到目标分箱个数,

原始的卡方分箱只用于连续变量,而对于枚举变量,我们先将枚举值转换为badRate,从而适用卡方分箱。

bins.merge.chi2Enum的完整调用格式如下:

 bin_set = bins.merge.chi2Enum(x,y,bin_num = 5,init_bin_num=10)
  • 入参说明

x:需要进行分箱的变量。

     数据类型:单列pandas.core.series或numpy.array

y:好坏标签,0为好,1为坏。

     数据类型:单列pandas.core.series或numpy.array

bin_num:目标分箱个数。

   数据类型:正整数

init_bin_num:初始分箱个数。

   数据类型:正整数

  • 出参说明

bin_set:等距分箱的结果。

二、函数示例

chi2Enum使用示例如下:

import bbbrisk as br					
           
# 加载数据                    
data = br.datasets.load_bloan()                                     # 加载数据
x,y  = data['city'],data['is_bad']                                  # 变量与标签	

# 卡方分箱				           
bin_set  = br.bins.merge.chi2Enum(x,y,bin_num = 5,init_bin_num=10)  # 将变量进行卡方分箱
bin_stat = br.bins.Bins(bin_set).binStat(x,y)                       # 统计分箱结果
															       
# 显示结果                                                         
br.display.pd.set(width=300,max_colwidth=30,max_rows=30)            # 美化pandas的显示方式
print('\n分箱结果:\nbin_set = ',bin_set)                            # 显示分箱结果
print('\n样本在分箱的分布:\n',bin_stat)                             # 显示样本分布

运行结果如下:

枚举卡方分箱效果


好了,以上就是bins.merge.chi2Enum函数的使用方法了~



图标 评论
添加评论