今天,为大家分享一行代码即可自动化风控建模哦,来介绍一下这个库autobmt。
安装方式:pip install autobmt
pipy包:https://pypi.org/project/autobmt/
数据集和代码领取,请+工种号,回复“自动建模”
自动建模评分卡
读取数据
模型建设
定义模型存储和Y标签定义,开始自动训练模型
###TODO 注意修改
client_batch = 'TT01p1'
key, target, data_type = 'APP_ID_C', 'target', 'type' # key是主键字段名,target是目标变量y的字段名,data_type是train、test数据集标识的字段名
ml_res_save_path = './example_model_result/{}'.format(client_batch) # 模型结果保存的位置
###TODO 下面代码基本可以不用动
# 初始化
autobtmodel = AutoBuildScoreCard(datasets=data, # 训练模型的数据集
fea_names=list(data.columns), # 数据集的字段名
target=target, # 目标变量y字段名
key=key, # 主键字段名
data_type=data_type, # train、test数据集标识的字段名
no_feature_names=[key, target, data_type] + ['apply_time'],
# 数据集中不用于开发模型的特征字段名,即除了x特征的其它字段名
ml_res_save_path=ml_res_save_path, # 建模相关结果保存路径
# data_dict=data_dict, # 数据字典,非必要,有则添加,无则不要此参数
AB={'A': 404.65547021957406, 'B': 72.13475204444818}, #自定义的大A,大B;非必要,有默认的
positive_corr=False, #数与模型预测的概率值是否正相关。默认False,负相关,即概率约高,分数越低
)
# ###训练模型
model, in_model_fea = autobtmodel.fit(
empty_threhold=0.9, # 特征的缺失值大于该阀值的特征会被剔除
iv_threhold=0.02, # iv小于该阀值的特征会被剔除
corr_threhold=0.7, # 相关性大于等于该阀值的特征会被剔除
psi_threhold=0.05 # psi大于等于该阀值的特征会被剔除
)
输出打印:
最终模型跑批结果存储:
风控建模结果展示
①KS与AUC结果
train_pred=datass[datass['type']=='train']['score']
y_train=datass[datass['type']=='train']['target']
test_pred=datass[datass['type']=='test']['score']
y_test=datass[datass['type']=='test']['target']
train_perf = sc.perf_eva(y_train,train_pred,title="train")
test_perf = sc.perf_eva(y_test,test_pred,title="test")
②变量分箱结果图
案例展示:
③EDA
④特征选择
⑤分箱汇总
⑥训练集和测试集的最优分箱
⑦best_binning_log
⑧变量的coef、iv、psi等汇总情况
⑨score分箱明细与分数
⑩相关性矩阵
结果汇总:
预测新增数据集:
写在最后
只有实战模拟面试场景,才能让一些关键的因素在脑海里留下深刻的记忆,直到知识融入到皮肤里,不断地熟悉并掌握面试题的内容,深入到底层的风控知识体系。