ks 曲线_模型算法基础——KS曲线

原创: 栗老师 金科应用研院

关于判断逻辑回归模型的分别能力,我们前面已经介绍了基尼系数和ROC曲线,今天我们来介绍一下KS曲线。KS曲线主要体现了模型对违约对象的区分能力,通常是在模型预测全体样本的评分后,将全体样本按好客户(未逾期)和坏客户(逾期)分为两部分,然后用KS统计量来检验这两组样本评分的分布是否有显著差异。

KS曲线的横坐标是将所有样本的评分结果从小到大排序后等分为10组,纵坐标是好客户和坏客户的累积比率。举个栗子:

和前面介绍ROC曲线时一样,由于将评分结果相等的的样本都划分为了一组,因此每一组的样本数并不完全相等。第i组的好客户累积个数等于前i组好客户个数的总和,好客户累积比率等于好客户累积个数占好客户总个数的比值,坏客户同理。

这样,有了好客户和坏客户的累积比率,我们就可以画出KS曲线了:

上表中的差值指的是坏客户和好客户的累积比率之间的差值,KS值(统计量)值的就是差值中的最大值,反映了模型区分好坏客户的能力。值越大,模型的预测准确性越好。

不难发现,KS曲线中的所谓“累积比率”其实就是ROC曲线中的TPR和FPR。ROC曲线以FPR为横轴,TPR为纵轴,而KS曲线以阈值为横轴,TPR、FPR为纵轴。所以说,从某种角度看,ROC曲线和KS曲线其实是一回事。

附上R代码:

微信公众号搜索:「 金科应用研院」

可以从菜单栏点击「在线学习」

更多风控培训课程与干货学习资料,都在微信公众号

回复关键字: 「风控量化福利包」➡️领取干货学习资料

回复任意词可以加我们官方微信加入百人风控学习群

不定期分享干货资料,与行业内总监大咖一起讨论风控经验~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答您的问题。您可以按照以下步骤在sklearn中绘制ROC曲线: 1. 准备数据:首先,您需要准备测试数据集和训练数据集。您还需要使用训练数据集来训练逻辑回归模型。 2. 训练模型:使用训练数据集训练逻辑回归模型。您可以使用以下代码: ``` from sklearn.linear_model import LogisticRegression # 创建逻辑回归对象 lr = LogisticRegression() # 使用训练数据集来训练模型 lr.fit(X_train, y_train) ``` 3. 预测概率:使用测试数据集来预测类别概率。您可以使用以下代码: ``` # 预测测试数据集的类别概率 y_pred_proba = lr.predict_proba(X_test)[:,1] ``` 4. 计算ROC曲线数据:计算真阳性率(TPR)和假阳性率(FPR)。您可以使用以下代码: ``` from sklearn.metrics import roc_curve, auc # 计算ROC曲线数据 fpr,tpr,thresholds = roc_curve(y_test, y_pred_proba) roc_auc = auc(fpr,tpr) ``` 5. 绘制ROC曲线:使用Matplotlib库绘制ROC曲线。您可以使用以下代码: ``` import matplotlib.pyplot as plt # 绘制ROC曲线 plt.title('Receiver Operating Characteristic') plt.plot(fpr, tpr, 'b', label = 'AUC = %0.2f' % roc_auc) plt.legend(loc = 'lower right') plt.plot([0, 1], [0, 1],'r--') plt.xlim([0, 1]) plt.ylim([0, 1]) plt.ylabel('True Positive Rate') plt.xlabel('False Positive Rate') plt.show() ``` 这是在sklearn中绘制ROC曲线的简单步骤。同时,您还可以使用KS曲线来评估模型性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值