AUC简介
AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。AUC被广泛应用在多标签分类中衡量分类结果。尤其是样本分布不均时,一般采用AUC作为各标签分类结果的衡量标准。
本文介绍了python实现AUC计算的方法。
首先该方法使用sklearn中的roc_auc_score函数计算,因此需要事先安装sklearn,安装命令为pip install sklearn
计算AUC的代码为:
from sklearn.metrics import roc_auc_score
def caculateAUC(AUC_out,AUC_labels):
row, col = AUC_labels.shape
temp = []
ROC = 0
for i in range(col):
try:
ROC = roc_auc_score(AUC_out[:, i], AUC_labels[:, i], average='micro', sample_weight=None)
except ValueError:
pass
# print("%d th AUROC: %f" % (i, ROC))
temp.append(ROC)
for i in range(col):
ROC += float(temp[i])
return ROC / (col + 1)
# 计算的时候调用上方函数,其中AUC_out为网络输出,AUC_labels为监督标签