模型评估与落地

Python 信用风险建模

Michael Crabtree

Data Scientist, Ford Motor Company

比较分类报告

  • classification_report() 生成报告并比较

逻辑回归与梯度提升树的分类报告

F1 值与宏平均 F1 的公式

Python 信用风险建模

ROC 与 AUC 分析

  • 表现更好的模型提升度更高
  • 提升度更高通常意味着 AUC 更高

两个模型的 ROC 图示例

Python 信用风险建模

模型校准

  • 期望违约概率能准确反映模型置信度
    • 违约概率的预测存在不确定性
  • 一组贷款的预测违约概率均值应接近该组真实违约率
贷款样本 预测 PD 均值 实际违约率 已校准?
10 0.12 0.12
10 0.25 0.65
1 http://datascienceassn.org/sites/default/files/Predicting%20good%20probabilities%20with%20supervised%20learning.pdf
Python 信用风险建模

计算校准

  • 显示各预测概率对应的真实违约比例
  • 本质上是 calibration_curve() 结果的折线图
from sklearn.calibration import calibration_curve
calibration_curve(y_test, probabilities_of_default, n_bins = 5)
# Fraction of positives
(array([0.09602649, 0.19521012, 0.62035996, 0.67361111]),
# Average probability
 array([0.09543535, 0.29196742, 0.46898465, 0.65512207]))
Python 信用风险建模

绘制校准曲线

plt.plot(mean_predicted_value, fraction_of_positives, label="%s" % "Example Model")

校准曲线示例

Python 信用风险建模

检查校准曲线

  • 例如,选择两处事件(在理想线之上和之下)

含两个未校准预测示例的校准曲线

Python 信用风险建模

校准曲线解读

含上方示例的校准曲线

Python 信用风险建模

校准曲线解读

含下方示例的校准曲线

Python 信用风险建模

Passons à la pratique !

Python 信用风险建模

Preparing Video For Download...