python稳健性检验_风控模型6大核心指标(附代码)

欢迎各位同学学习python金融风控评分卡模型和数据分析微专业课

48b4c8fa6ff0e070a8a5815ca2f84920.png

在我们开发完信用分模型后,经常需要计算如下的一些指标:●      区分度的指标:○      AUC○      KS○      GINI●      稳定性的指标:○      PSI●      分数分布:○      总人数比例○      坏用户比例接下来,本文从如下5个模块为读者朋友们介绍如何利用Python实现这些指标数据。目录

Part 1. 生成样本

Part 2. 计算AUC、KS、GINI

Part 3. PSI

Part 4. 分数分布

Part 5. 完整工程代码

致谢

01.生成样本

首先,本文用以示例,故使用代码创造的一些假样本。

import numpy as np

import pandas as pd

n_sample = 1000

df_score = pd.DataFrame({

'user_id': [u for u in range(n_sample)],

'label':np.random.randint(2, size=n_sample),

'score': 900*np.random.random(size=n_sample),

'term': 20201+np.random.randint(5, size=n_sample)

})

2fc7da9aebf6ffb0289e0f89eb745af6.png

然后我们统计下分term的总人数,坏人数和坏人比例:

df_score.groupby('term').agg(total=('label', 'count'),

bad=('label', 'sum'),

bad_rate=('label', 'mean'))

85228fa7ca30d9d019837f83d063dbf1.png

02

区分度指标

计算区分度指标KS、AUC、GINI的helper function如下:

from sklearn.metrics import roc_auc_score, roc_curve

def get_auc(ytrue, yprob):

auc = roc_auc_score(ytrue, yprob)

if auc < 0.5:

auc = 1 - auc

return auc

def get_ks(ytrue, yprob):

fpr, tpr, thr =

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值