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')