目录
老饼讲解:一步一步上手学习

【说明】函数说明-model.scoreCard

作者 : 老饼 发表日期 : 2026-03-21 01:26:35 更新日期 : 2026-05-13 00:56:27
老饼讲解-简单易懂,干货满满,爽过嗦螺!


API说明:model.scoreCard - 评分卡模型构建

一、函数说明

model.scoreCard用于构建一个评分卡模型。

完整调用格式如下:

logit_model,card = model.scoreCard(x,y,bin_sets,train_param={})
  • 入参说明

x:用于建模的样本变量数据

         数据类型:pandas.DataFrame

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

     数据类型:pandas.core.series

bin_sets:分箱设置,格式详见《bbbrisk-分箱配置格式》

               bin_set也可以传入字符串'grp',此时代表X数据是已经是分组数据(即组号) ,不需分箱

train_param:训练参数,可设可不设,如果不设,就是默认参数

train_param的可设参数有:

test_size     :模型训练时预留的测试数据比例,默认值为20%。
penalty       :逻辑回归模型的正则化方式,None代表不用正则化、'l2'代表用L2正则化,默认值为'l2'。
                        它与sklearn的逻辑回归参数模型一致,更多参考sklearn逻辑回归模型的penalty参数。
select_var   :是否在训练前使用逐步回归选择变量,True或False,默认为True。
select_tol   :使用逐步回归选择变量时,当AUC提升小于select_tol时,则停止添加变量,默认值为0.005。
random_state随机种子,逻辑回归模型的训练以及选择测试数据集时的随机种子,默认值为None。

备注:train_param可设置部分参数,例如train_param={'random_state':0}代表只将随机种子设为0,其它训练参数用默认值。

  • 出参说明

logit_model:评分卡建模中的逻辑回归模型

    数据类型:bbbrisk的_LogitModel类

card:最终构建的评分卡

    数据类型:bbbrisk的_Card类

  • 函数简述

总的来说,model.scoreCard就是通过传入x,y数据,并指定X的分箱(同时可以选择性设置模型训练的参数),然后model.scoreCard就会构建出评分卡的结果,包括评分卡中所用的逻辑回归模型,以及最终的评分卡表。可通过返回的logit_model和card进行应用,例如预测样本、查看评分卡表等,详细参考_LogitModel类和bbbrisk的_Card类的说明。

二、函数示例

model.scoreCard使用示例如下

示例一:使用x,y与分箱配置进行构建评分卡

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])                                       # 用评分卡进行评分      
br.display.pd.set(width=300,max_colwidth=30,max_rows=30)                     # 美化pandas的显示方式        
print('\n* 评分卡的特征分:\n',card.featureScore )                            # 评分卡-特征得分表
print('\n* 评分卡的基础分:',card.baseScore)                                  # 评分卡-基础分

运行结果如下:

评分卡表结果


示例二:使用x的分组数据与标签y构建评分卡

import bbbrisk as br
data       = br.datasets.load_bloan_grp()                                   # 加载分组数据
x,y        = data.iloc[:,:-1],data['is_bad']                                # 样本变量与标签
model,card = br.model.scoreCard(x,y,'grp',train_param={'random_state':0})   # 建评分卡,设随机种子是为复现结果
score      = card.predict(x[card.var])                                      # 用评分卡进行评分      
br.display.pd.set(width=300,max_colwidth=30,max_rows=30)                    # 美化pandas的显示方式        
print('\n* 评分卡的特征分:\n',card.featureScore )                           # 评分卡-特征得分表
print('\n* 评分卡的基础分:',card.baseScore)                                 # 评分卡-基础分

运行结果如下:

用分组数据来构建的评分卡表


好了,以上就是model.scoreCard函数的使用方法了~



图标 评论
添加评论