真阳性率(tpr),正例算对的,越高越好,
假阳性率(fpr),正例算错的,越低越好,
一个好的模型应该tpr很高,fpr很低,这种模型识别正例的能力很强,就用 fpr-tpr得到一个值,如果移动阈值,得到fpr和tpr曲线,找在同一个概率下
tpr和fpr最大的差值作为KS((Kolmogorov-Smirnov))值。tpr是0到1,fpr也是,KS最小值 tpr=0,fpr=1,KS=-1,最大值是1,它的取值范围[-1, 1]。
使用python的计算方法:
fpr,tpr,thresholds= roc_curve(y_score, y_test) # y_score is score of positive label
ks = max(tpr-fpr) # Note: tpr and fpr is ndarray
print(ks)
参考:
- How to Measure the Quality of Credit Scoring Models
- https://www.zhihu.com/question/34820996?sort=created