信用模型表现

Python 信用风险建模

Michael Crabtree

Data Scientist, Ford Motor Company

模型准确率评分

  • 计算准确率

准确率公式

  • 使用 scikit-learn 的 .score() 方法
# 基于测试数据检查准确率
clf_logistic1.score(X_test,y_test)
0.81
  • loan_status 的预测正确率为 81%
Python 信用风险建模

ROC 曲线图

  • 受试者工作特征曲线(ROC)
    • 绘制真正例率(灵敏度)与假正例率(误报率)
fallout, sensitivity, thresholds = roc_curve(y_test, prob_default)
plt.plot(fallout, sensitivity, color = 'darkorange')

ROC 图示例

Python 信用风险建模

分析 ROC 图

  • 曲线下面积(AUC):曲线与随机预测线之间的面积

带提升与 AUC 注释的 ROC 图

Python 信用风险建模

违约阈值

  • 阈值:何时将概率视为违约

概率阈值示意图

Python 信用风险建模

设置阈值

  • 按阈值 0.5 重新标注贷款
preds = clf_logistic.predict_proba(X_test)
preds_df = pd.DataFrame(preds[:,1], columns = ['prob_default'])
preds_df['loan_status'] = preds_df['prob_default'].apply(lambda x: 1 if x > 0.5 else 0)

包含概率和贷款状态的数据样本

Python 信用风险建模

信用分类报告

  • 在 scikit-learn 中使用 classification_report()
from sklearn.metrics import classification_report
classification_report(y_test, preds_df['loan_status'], target_names=target_names)

分类报告示例

Python 信用风险建模

选择分类指标

  • 选择并保存 classification_report() 的特定组件
  • 使用 scikit-learn 的 precision_recall_fscore_support() 函数

默认召回率的分类报告示例

from sklearn.metrics import precision_recall_fscore_support
precision_recall_fscore_support(y_test,preds_df['loan_status'])[1][1]
Python 信用风险建模

Passons à la pratique !

Python 信用风险建模

Preparing Video For Download...