今天在知乎上看了一篇文章,图解AUC原理,文章写得很容易理解。看这篇文章之后对AUC的来龙去脉又加深了一步。之前读《机器学习》比较晦涩,只记得两个公式和样本预测排序的质量。而这篇文章介绍了是如何排序,然后画出ROC曲线,并计算出AUC值。
发现文中一个小问题,记录一下:
这里计算auc是有个问题。在《机器学习》书中讲到AUC考虑的是样本预测的排序质量,因此它与排序误差有紧密联系,且排序“损失”如下公式:
在这个里面有一项,当正负样本的预测值一样时需要加一上
1
2
Π
(
f
(
x
+
)
=
f
(
x
−
)
)
\frac{1}{2}\Pi(f(x^+)=f(x^-))
21Π(f(x+)=f(x−)),所以上面的计算分子应该加上0.4和0.6两个相等的一部分。所以应该是:
A
U
C
=
5
+
5
+
5
+
4
+
3
+
1
2
∗
2
5
∗
5
=
23
25
=
0.92
AUC=\frac{5+5+5+4+3+\frac{1}{2}*2}{5*5}=\frac{23}{25}=0.92
AUC=5∗55+5+5+4+3+21∗2=2523=0.92