bbbrisk-api说明

【说明】report.get_threshold_tb

作者 : 老饼 发表日期 : 2022-06-26 14:13:41 更新日期 : 2025-03-05 16:28:49
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com



report.get_threshold_tb - 阈值表计算函数

一、函数说明

report.get_threshold_tb用于计算阈值表

完整调用格式如下:

tb = report.get_threshold_tb(score,y,bin_step=10)

 入参说明

  • score:样本的评分

         数据类型:单列pandas.core.series

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

         数据类型:单列pandas.core.series

  • bin_step:统计的步长,默认值为10,即每隔10分作为一段进行统计

     数据类型:正整数







二、函数示例



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 





联系老饼