老饼讲解-机器学习 机器学习 神经网络 深度学习
机器学习入门
1.学前解惑
2.第一课:初探模型
3.第二课:逻辑回归与梯度下降
4.第三课:决策树
5.第四课:逻辑回归与决策树补充
6.第五课:常见的其它算法
7.第六课:综合应用

【原理】AUC与ROC曲线

作者 : 老饼 发表日期 : 2022-06-26 03:55:46 更新日期 : 2024-01-11 14:57:05
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com



AUC是专门针对逻辑回归这种输出概率(或评分)的二分类模型设计的模型效果评估指标

本文我们详细介绍什么是AUC、什么是ROC曲线,以及它们的含义、用途



    01. ROC的背景介绍:阈值划分   



本节讲述AUC的背景:阈值划分是什么,及二分类模型为什么需要阈值划分



   ROC的背景:阈值划分的意义   


为什么二分类模型一般使用AUC进行评估呢?这得先了解ROC及二分类模型的阈值划分
对于二分类模型,模型如果输出的是概率或者评分,模型是不能直接使用输出来判别类别的,
二分类模型需要先划分阈值,再根据模型的输出值与阈值的比较来确定类别
二分类模型的阈值划分意义重大,因为采用不同的阈值,模型的结果也不一样
 
  
可以看到,对于不同的阈值,模型对样本类别的判别结果会不一样,模型也就会有不一样的效果
所以在相同的模型下,不同的阈值划分决定了模型最终的判别结果




   阈值划分的凭据-查全率与虚警率  


阈值划分的凭据是什么?
 最直接是用准确率进行凭估,即阈值划哪里能令准确率最大,就划哪里。
但在真实案例中,我们并不用准确率去划分阈值, 因为我们更关注的是查全率和虚警率
 
是查全率和虚警率的定义如下:
 
  
 查全率TPR(True PositiveRate) : 是 1 的样本,被检查出来的概率,计算公式:TP/(TP+FN)   
 虚警率FPR(False PositiveRate): 是 0 的样本,被误检成1的概率,  计算公式:FP/(TN+FP)   
   ✍️查全率、虚警率的意义   
 
 为什么关注查全率(TPR)和虚警率(FPR) ?
因为很多时候,查全率就是收益,虚警率就是成本
 
 
 例如投放广告,查全(1类被检查出来)是收益:我们成功检查出的目标客户,那这就是我们的收益
相反,虚警(0类被检查了1类)是成本:这部分人并非目标客户,我们误判为目标客户,就产生了不必要的投放成本

  所以,在实际项目中,最终决定采用哪个阈值,不是根据准确率,而是根据查全率和虚警率,
因为我们需要在收益与成本之间权衡,而不会一味追求准确率





   02. ROC曲线是什么   



本节介绍什么是ROC曲线,为什么需要ROC曲线



     ROC曲线    


   阈值划分方法   
我们希望查全率越高越好,虚警率越低越好,但两者往往不可兼得

所以,实际中阈值的划分方法是,先算出所有阈值对应的【查全率,虚警率】组合,
然后哪组【查全率,虚警率】最适合业务实际需要,我们就把阈值划在哪里
   ROC曲线是什么  
 
为了更方便找出最佳阈值划分点, 可以把虚警率作为x轴,查全率作为y轴,
 画出虚警率-查全率的曲线,也即ROC 曲线如下:
 
 
  receiver operating characteristic curve
 
 根据ROC曲线,可以更直观的查看【查全率,虚警率】的各种组合
也就更方便我们找出性价比最好的【查全率,虚警率】




     ROC曲线的意义    


ROC曲线的意义是什么,怎么看ROC曲线?
 下面我们梳理关于ROC的相关知识 
 
 👉ROC的意义:ROC代表成本与收益的变化                                                         
      把虚警率看作成本,y轴查全率作为收益,ROC曲线则是收益/成本曲线      
         它体现了随着成本增加,收益的变化情况,它更直观地评估了模型所带来的效益
 👉ROC的作用:寻找性价比更高的阈值                                                               
 ROC的作用就是为二分类模型寻找一个更具性价比的阈值分割点      
 往往曲线的拐点就是性价比最高的阈值点,所以拐点处比较值得关注  
             但对具体的业务还需具体分析,而ROC曲线就非常方便我们分析什么阈值更适合业务 

 👉ROC曲线的评估:曲线越拱越好                                                                     
  怎么通过ROC曲线来判断二分类模型的质量呢?                      
            由于ROC曲线越往上拱,就代表我们更有可能挑到性价比更好的【查全率,虚警率】
                       因此,越往上拱的ROC曲线,模型质量往往更加高,即ROC的拱度在某种程度上代表了模型的质量





      03. AUC指标   



本节讲述AUC指标是什么和AUC的意义



     AUC指标是什么    


ROC拱度的必要性
我们刚建完模型,并不会马上划分阈值,
需要ROC曲线足够拱,我们才去划分阈值
 如果ROC太平坦,那我们怎么划都没法找到性价比好的【查全率,虚警率】
什么是AUC指标
那怎么评估ROC曲线的拱度呢?
AUC(Area Under Curve)通过计算ROC曲线下的面积来评估ROC的拱度
ROC曲线下的面积越大,就代表ROC曲线越拱,AUC值越大
 
即AUC是评估ROC曲线拱度的指标,代表所有阈值的综合评估
AUC越大,就ROC往上拱得越厉害,就代表更容易从中选出更优秀的【查全率,虚警率】
 备注:AUC一定是是>=0.5的,因为如果<0.5时, 可以把模型的判断结果取反



     AUC的意义    


 AUC是查全率TPR对虚警率FPR的积分,它代表着平均查全率(相对虚警率),
如果把查全率看作收益,虚警率看作成本,则AUC代表投入0.5成本时的平均收益
 
总的来说,AUC是综合了所有阈值作为模型判断依据时,模型质量的综合评估指标








     05. AUC-ROC总结     



本节总结AUC和ROC的相关内容,是全文的简单回顾



    AUC与ROC曲线的总结    


本文我们学习了二分类模型划分阈值的凭据:
【查全率,虚警率】、ROC, 以及ROC拱度的评估值AUC

 ROC的意义
投产时通过【查全率,虚警率】去确定阈值 (查全率TPR代表收益,虚警率FPR代表成本)
ROC曲线是以虚警率为X轴,查全率为Y轴画出的曲线,可以更方便我们挑选【查全率,虚警率】

 AUC的意义
在划分阈值前,先以AUC评估模型,AUC是ROC曲线下的面积,它代表了ROC的拱度。
AUC越大,ROC越拱,我们越有机会挑出性价比更高的【查全率,虚警率】组合






好了,关于AUC与ROC曲线的内容就介绍到这了








 End 





联系老饼