怎样用scikit-learn计算分类器的ROC, AUC? | How to use scikit-learn to compute ROC, AUC for binary classifie

ROC – Receiver operating characteristic curve
AUC – Area Under the ROC Curve

本文不深入讨论ROC/AUC的意义,只是focus在用scikit-learn应用上。以后我会写一下自己的理解。

这里有些资料

https://developers.google.com/machine-learning/crash-course/classification/roc-and-auc

这个视频解释的特别好。

以下为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')

Leave a Comment

Your email address will not be published.