本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
bins.merge.eDist- 等距分箱函数
bins.merge.eDist用于将样本进行等距分箱,返回分箱的结果
完整调用格式如下:
bin_set = bins.merge.eDist(x,bin_num=10)
1. 入参说明
数据类型:单列pandas.core.series或numpy.array
数据类型:正整数或列表
当bin_num = 10时,代表将整体等距分为10个箱
当bin_num = [('-',1,5),(1,1000,1),(1000,'+',1)]时,代表<=1分为5个箱,(1,1000]分为1个箱,>1000分为1个箱
2. 出参说明
eDist使用示例如下
import bbbrisk as br
# 加载数据
data = br.datasets.load_bloan() # 加载数据
x,y = data['rev'],data['is_bad'] # 变量与标签
# 等距分箱
bin_set = br.bins.merge.eDist(x,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) # 显示样本分布
运行结果如下:
import bbbrisk as br
# 加载数据
data = br.datasets.load_bloan() # 加载数据
x,y = data['rev'],data['is_bad'] # 变量与分箱
# 等距分箱
bin_set = br.bins.merge.eDist(x,[('-',1,5),(1,1000,1),(1000,'+',1)]) # 将变量进行等距分箱
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.eDist函数的使用方法了~
End