真陽性率(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