bbbrisk-api说明

【说明】bins.merge.treeEnum

作者 : 老饼 发表日期 : 2023-03-25 00:03:19 更新日期 : 2025-03-05 16:15:54
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com




bins.merge.treeEnum- 决策树分箱(枚举变量)函数

一、函数说明

bins.merge.treeEnum用于将枚举变量进行决策树分箱,返回分箱的结果

决策树分箱就是将变量与y进行CART决策树建模,再将最终树的叶子节点作为分箱结果

一般的决策树分箱只用于连续变量,而对于枚举变量,我们先将枚举值转换为badRate,从而适用于决策树分箱


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

 bin_set = bins.merge.treeEnum(x,y,max_depth=3,min_sample=None) 

1. 入参说明

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

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

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

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

  • max_depth:决策树的最大深度

   数据类型:正整数

  • min_sample:最小样本个数

   数据类型:正整数或None

     min_sample=None时,它取值为样本数/5/3,这样一般会分为5-10个箱左右


备注:决策树分箱没有直接控制分箱数量的参数,它只能通过调整树深度、叶子最小样本数来控制与调整



2. 出参说明

  • bin_set:等距分箱的结果






二、函数示例


bins.merge.treeEnum使用示例如下:


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

# 决策树分箱				           
bin_set  = br.bins.merge.treeEnum(x,y,max_depth=3,min_sample=None)     # 将变量进行决策树分箱
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.treeEnum函数的使用方法了~








 End 





联系老饼