本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
report.get_threshold_tb - 阈值表计算函数
report.get_threshold_tb用于计算阈值表
完整调用格式如下:
tb = report.get_threshold_tb(score,y,bin_step=10)
入参说明
数据类型:单列pandas.core.series
数据类型:单列pandas.core.series
数据类型:正整数
get_threshold_tb使用示例如下:
import bbbrisk as br
data = br.datasets.load_bloan() # 加载数据
x,y = data.iloc[:,:-1],data['is_bad'] # 样本变量与标签
bin_sets = br.bins.batch.autoBins(x, y,enum_var=['city','marital']) # 自动分箱,如果有枚举变量,必须指出哪些是枚举变量
model,card = br.model.scoreCard(x,y,bin_sets,train_param={'random_state':0}) # 构建评分卡,为了使结果能重现,笔者设置了固定的随机种子
score = card.predict(x[card.var]) # 用评分卡进行评分
th_tb = br.report.get_threshold_tb(score,y,bin_step=10) # 画出分数分布图
br.display.pd.set(width=300,max_colwidth=30,max_rows=30) # 美化pandas的显示方式
print('\n* 阈值表th_tb:\n',th_tb) # 打印阈值表
运行结果如下:
以第二行为例,它的意义如下:
[640,650)的人共12个,其中2个是好客户,10个是坏客户
如果阈值取为<640,则会:
损失29个客户,占总客户(20000个)中的0.15%,
损失的(29个)客户中有7个好客户,占总好客户(18617个)中的0.04%,
损失的(29个)客户中有22个坏客户(剔除了22个坏客户),即剔除了总体坏客户(1383个)中的1.59%
本组中,坏客户占比为83.33%(10/12),损失客户中,坏客户占比为0.7059(22/29)
好了,以上就是report.get_threshold_tb函数的使用方法了~
End