AUC计算方法


本质是ROC曲线下的面积,ROC曲线x轴是误判率/误报率(false positive rate),y轴是准确率/命中率(true positive rate)。

AUC是ROC曲线与横轴所围的面积。

the AUC of a classifier is equivalent to the probability that the classifier will rank a randomly chosen positive instance higher than a randomly chosen negative instance.

AUC等效于分类器将一个随机正例排在随机负例之前的概率。

AUC计算:

1. 使用Wilcoxon-Mann-Witney Test

AUC和Wilcoxon-Mann-Witney Test有等价的性质。Wilcoxon-Mann-Witney Test是测试任意给一个正样本和一个负样本,正样本score大于负样本score的概率。

算法:

统计所有的 M×N(M为正样本数,N为负样本数)个正负样本对中,有多少组中的正样本score大于负样本score。当二元组中正负样本的score相等的时候,按照0.5计算。然后除以MN。实现这个方法的复杂度为O(n^2)。n为样本数(即n=M+N)

2. 方法1的简化(降低计算时间复杂度)

算法:

首先对样本按score从大到小排序,然后令最大score对应样本的rank为n(=M+N),第二大score对应样本的rank为n-1,以此类推。然后把所有的正样本的rank相加,再减去M-1个正样本两两组合的计数。然后再除以M×N。即

参考:

论文原文:https://people.inf.elte.hu/kiss/13dwhdm/roc.pdf

https://blog.csdn.net/pzy20062141/article/details/48711355

相关