AUC(Area Under The Curve)是一种用来度量分类模型好坏的一个标准,这里不详细叙述AUC的定义及意义,详见WIKI。
算法1:如下图是一个分类器的结果,计算点形成的折线的面积就是AUC的值
代码如下:
public double aucAlg1()
{
double n0 =scores[0].size();//scores[0] 表示label为0的item的分数
double n1 =scores[1].size();//scores[1]表示label为1的item的分数
DoubleArrayList all = new DoubleArrayList();
all.addAllOf(scores[0]);
all.addAllOf(scores[1]);
all.sort();
double area = 0.0D;
long TP = 0L;
long FP = 0L;
long TP_pre = 0L;
long FP_pre = 0L;
double f_pre = 0.0D;
for(int i = 0; i < all.size(); i++)

本文总结了AUC计算的三种方法:1)通过排序并计算梯形面积;2)利用Wilcoxon-Mann-Witney Test的等价性;3)优化后的算法,减少复杂度。详细介绍了每种算法的思路,并给出了对应的代码实现。
最低0.47元/天 解锁文章
789

被折叠的 条评论
为什么被折叠?



