ROC – Receiver operating characteristic curve
AUC – Area Under the ROC Curve
本文不深入讨论ROC/AUC的意义,只是focus在用scikit-learn应用上。以后我会写一下自己的理解。
这里有些资料
这个视频解释的特别好。
以下为python代码。roc_curve可以take numpy arrays。一般数据都在pandas dataframe里处理好。所以这个这个场景场景为例子
from sklearn import metrics
fpr, tpr, thresholds = metrics.roc_curve(df['label'].to_numpy(), df['prediction'].to_numpy(), pos_label=2)
auc = metrics.auc(fpr, tpr)
print(f'auc = {auc}')
ROC的线也可以用matplotlib画出来
import matplotlib.pyplot as plt
plt.plot(fpr, tpr)
plt.xlabel('fpr')
plt.ylabel('tpr')
plt.title('ROC / AUC')