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。即
参考: