本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
AUC是专门针对逻辑回归这种输出概率(或评分)的二分类模型设计的模型效果评估指标
本文我们详细介绍什么是AUC、什么是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类)是成本:这部分人并非目标客户,我们误判为目标客户,就产生了不必要的投放成本
所以,在实际项目中,最终决定采用哪个阈值,不是根据准确率,而是根据查全率和虚警率,
因为我们需要在收益与成本之间权衡,而不会一味追求准确率
本节介绍什么是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的拱度在某种程度上代表了模型的质量
本节讲述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是综合了所有阈值作为模型判断依据时,模型质量的综合评估指标
本节总结AUC和ROC的相关内容,是全文的简单回顾
AUC与ROC曲线的总结
本文我们学习了二分类模型划分阈值的凭据:
【查全率,虚警率】、ROC, 以及ROC拱度的评估值AUC
ROC的意义
投产时通过【查全率,虚警率】去确定阈值 (查全率TPR代表收益,虚警率FPR代表成本)
ROC曲线是以虚警率为X轴,查全率为Y轴画出的曲线,可以更方便我们挑选【查全率,虚警率】
AUC的意义
在划分阈值前,先以AUC评估模型,AUC是ROC曲线下的面积,它代表了ROC的拱度。
AUC越大,ROC越拱,我们越有机会挑出性价比更高的【查全率,虚警率】组合
好了,关于AUC与ROC曲线的内容就介绍到这了
End