今天在知乎上看了一篇文章,图解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









