第五课:综合应用
评估指标
【原理】AUC与ROC
作者 : 老饼 日期 : 2022-06-26 03:55:46 更新 : 2022-09-27 17:17:30
本站原创文章,转载请说明来自《老饼讲解-机器学习》ml.bbbdata.com


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

本文我们详细介绍什么是AUC、ROC的含义,用途。




   01. 二分类的阈值划分  


对于二分类模型,
模型如果输出的是概率或者评分,
那么模型是不能直接使用来判别类别的,
需要先划分阈值,再根据阈值确定类别。


采用不同的阈值,模型对样本类别的判别结果会不一样,模型也就会有不一样的效果:





  02. 阈值划分凭据:查全率,虚警率  


   阈值划分的凭据  


阈值划分的凭据是什么?
最直接是用准确率进行凭估,
即阈值划哪里能令准确率最大,就划哪里。
但在真实案例中,我们并不用准确率去划分阈值,
 因为我们更关注的是查全率和虚警率
查全率TPR(True PositiveRate) : 是 1 的样本,被检查出来的概率,计算公式:TP/(TP+FN)  
 虚警率FPR(False PositiveRate): 是 0 的样本,被误检成1的概率,  计算公式:FP/(TN+FP)   
 
 



   查全率、虚警率的意义   


为什么关注查全率(TPR)和虚警率(FPR) ?
因为很多时候,查全率就是收益,虚警率就是成本
 
例如投放广告,我们成功检查出的目标客户,那就是我们的收益。
相反,虚警(0类被检查了1类)是成本,
这部分人并非我们的客户,我们误判为是目标客户,就产生了不必要的投放成本。
所以,在实际项目中,最终决定采用哪个阈值,
不是根据准确率,
而是根据查全率和虚警率,
因为我们需要在收益与成本之间权衡,而不会一味追求准确率。



  03. ROC曲线  


   阈值划分方法   


我们希望查全率越高越好,虚警率越低越好,
但两者往往不可兼得。

所以,实际中阈值的划分方法是,
先算出所有阈值对应的【查全率,虚警率】组合,
然后哪组【查全率,虚警率】最适合业务实际需要,
我们就把阈值划在哪里。



   ROC曲线  


为了更方便找出最佳阈值划分点,
 可以把虚警率作为x轴,查全率作为y轴,
 
画出ROC 曲线:
 
 
 receiver operating characteristic curve
根据ROC曲线,可以更直观的查看【查全率,虚警率】的各种组合,
也就更方便我们找出性价比最好的【查全率,虚警率】(往往是曲线的拐点)。



从图中也可以看到,ROC曲线越往上拱,就代表我们能挑到性价比更好的【查全率,虚警率】


PASS:把虚警率看作成本,y轴查全率作为收益,ROC曲线则是收益/成本曲线,它体现了随着成本增加,收益的变化情况。



 04. 所有阈值的综合评估:AUC   


我们刚建完模型,并不会马上划分阈值,
至少要在ROC曲线足够拱,我们才去划分阈值。
(如果ROC太平坦,那我们怎么划都没法找到性价比好的【查全率,虚警率】)。
那怎么评估ROC曲线的拱度呢?
直接使用ROC曲线下的面积,
面积越大,就代表ROC曲线越拱。
ROC曲线下的面积称为AUC(Area Under Curve),
即AUC是评估ROC曲线拱度的指标。

AUC越大,代表ROC往上拱得越厉害。
而ROC往上拱得越厉害,就代表我们更容易从中选出更优秀的【查全率,虚警率】。
所以,我们刚建完模,第一个看的就是AUC的值,
AUC足够大,我们才能找到较好的【查全率,虚警率】组合。
因此,AUC也就成为了评估模型优劣的第一指标。

AUC同时也是查全率对虚警率的积分,所以某种意义上,它代表着平均查全率(相对虚警率)。



  05. 总结  


本文我们学习了二分类模型划分阈值的凭据:【查全率,虚警率】、ROC, 以及ROC拱度的评估值AUC.
(1) 投产时通过【查全率,虚警率】去确定阈值 (查全率TPR代表收益,虚警率FPR代表成本)。
ROC曲线是以虚警率为X轴,查全率为Y轴画出的曲线,可以更方便我们挑选【查全率,虚警率】。
(2) 在划分阈值前,先以AUC评估模型。
AUC是ROC曲线下的面积,它代表了ROC的拱度。
AUC越大,ROC越拱,我们越有机会挑出性价比更高的【查全率,虚警率】组合。







 End 








联系小饼