本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
AUC是专门针对逻辑回归这种输出概率(或评分)的二分类模型设计的模型效果评估指标。
本文我们详细介绍什么是AUC、ROC的含义,用途
本节讲述阈值划分是什么,及二分类模型为什么需要阈值划分
阈值划分的意义
对于二分类模型,
模型如果输出的是概率或者评分,
那么模型是不能直接使用来判别类别的,
需要先划分阈值,再根据阈值确定类别
二分类模型为什么需要阈值划分呢?
因为采用不同的阈值,
模型对样本类别的判别结果会不一样,模型也就会有不一样的效果,
如下
![]()
本节讲述查全率、虚警率在二分类中的意义
阈值划分的凭据
阈值划分的凭据是什么?
最直接是用准确率进行凭估,
即阈值划哪里能令准确率最大,就划哪里。
但在真实案例中,我们并不用准确率去划分阈值,
因为我们更关注的是查全率和虚警率
查全率TPR(True PositiveRate) : 是 1 的样本,被检查出来的概率,计算公式:TP/(TP+FN)
虚警率FPR(False PositiveRate): 是 0 的样本,被误检成1的概率, 计算公式:FP/(TN+FP)
查全率、虚警率的意义
为什么关注查全率(TPR)和虚警率(FPR) ?
因为很多时候,查全率就是收益,虚警率就是成本
例如投放广告,我们成功检查出的目标客户,那就是我们的收益。
相反,虚警(0类被检查了1类)是成本,
这部分人并非我们的客户,我们误判为是目标客户,就产生了不必要的投放成本。
所以,在实际项目中,最终决定采用哪个阈值,
不是根据准确率,
而是根据查全率和虚警率,
因为我们需要在收益与成本之间权衡,而不会一味追求准确率。
本节讲述ROC曲线是什么
阈值划分方法
我们希望查全率越高越好,虚警率越低越好,
但两者往往不可兼得
所以,实际中阈值的划分方法是,
先算出所有阈值对应的【查全率,虚警率】组合,
然后哪组【查全率,虚警率】最适合业务实际需要,
我们就把阈值划在哪里
ROC曲线
为了更方便找出最佳阈值划分点,
可以把虚警率作为x轴,查全率作为y轴,
画出ROC 曲线:
receiver operating characteristic curve
根据ROC曲线,可以更直观的查看【查全率,虚警率】的各种组合,
也就更方便我们找出性价比最好的【查全率,虚警率】(往往是曲线的拐点)
✍️ 补充
(1) 曲线越拱越好
从图中也可以看到,ROC曲线越往上拱,
就代表我们能挑到性价比更好的【查全率,虚警率】
(2)ROC代表成本与收益的变化
把虚警率看作成本,y轴查全率作为收益,
ROC曲线则是收益/成本曲线,
它体现了随着成本增加,收益的变化情况
本节讲述AUC指标是什么和它的意义
AUC指标
ROC拱度的必要性
我们刚建完模型,并不会马上划分阈值,
至少要在ROC曲线足够拱,我们才去划分阈值
如果ROC太平坦,那我们怎么划都没法找到性价比好的【查全率,虚警率】
AUC的意义
那怎么评估ROC曲线的拱度呢?
直接使用ROC曲线下的面积,
面积越大,就代表ROC曲线越拱。
ROC曲线下的面积称为AUC(Area Under Curve),
即AUC是评估ROC曲线拱度的指标
AUC越大,代表ROC往上拱得越厉害。
而ROC往上拱得越厉害,就代表我们更容易从中选出更优秀的【查全率,虚警率】。
✍️补充
所以,我们刚建完模,第一个看的就是AUC的值,
AUC足够大,我们才能找到较好的【查全率,虚警率】组合
因此,AUC也就成为了评估模型优劣的第一指标
AUC同时也是查全率对虚警率的积分,所以某种意义上,它代表着平均查全率(相对虚警率)
本节知识点回顾
本文我们学习了二分类模型划分阈值的凭据:
【查全率,虚警率】、ROC, 以及ROC拱度的评估值AUC
ROC的意义
投产时通过【查全率,虚警率】去确定阈值 (查全率TPR代表收益,虚警率FPR代表成本)
ROC曲线是以虚警率为X轴,查全率为Y轴画出的曲线,可以更方便我们挑选【查全率,虚警率】
AUC的意义
在划分阈值前,先以AUC评估模型
AUC是ROC曲线下的面积,它代表了ROC的拱度。
AUC越大,ROC越拱,我们越有机会挑出性价比更高的【查全率,虚警率】组合
End