老饼讲解:一步一步上手学习
bins.merge.tree用于将连续变量进行决策树分箱,返回分箱的结果。
决策树分箱就是将变量与y进行CART决策树建模,再将最终树的叶子节点作为分箱结果。
bins.merge.tree的完整调用格式如下:
bin_set = bins.merge.tree(x,y,max_depth=3,min_sample=None) 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个箱左右
备注:决策树分箱没有直接控制分箱数量的参数,只能通过调整树深度、叶子最小样本数来控制与调整。
bin_set:等距分箱的结果。
bins.merge.tree使用示例如下:
import bbbrisk as br
# 加载数据
data = br.datasets.load_bloan() # 加载数据
x,y = data['rev'],data['is_bad'] # 变量与标签
# 决策树分箱
bin_set = br.bins.merge.tree(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.tree函数的使用方法了~
评论