深度解析roc曲线、AUC与排序损失

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 深度解析roc曲线、AUC与排序损失

1、ROC曲线

ROC全称受试者工作特征,是用来研究学习器泛化性能的有力工具。ROC曲线横轴是假正利率FPR,纵轴是TPR,曲线的绘制过程是:根据学习器的预测结果对样例进行排序,按此顺序逐个把样例作为正例进行预测,计算出TPR和FPR,绘制ROC图。


  • ROC VS P-R


ROC PR
适用情况 测试样本正负分布均匀 测试样本正负分布不均匀(有明显差别)
对样本分布的敏感程度 不敏感 敏感
优点 能够衡量一个模型本身的预测能力 能够看出学习器随样本比例的变化的效果

「注」:先观察ROC曲线再观察PR曲线决定学习器的效果


2、AUC=1- rank


ROC曲线绘制实例


已知一个学习器有以下预测结果:

s1,0.77,+ s2,0.62,- s3,0.58,+ s4,0.47,+
s5,0.47,- s6,0.33,- s7,0.23,+ s8,0.15,-


ROC曲线横轴为image.png,纵轴为 image.pngTPR=TP+FNTP,横轴纵轴的分母都是定值,分别为m_(反例个数),m+(正例个数),根据ROC的绘制过程可以看出每新增一个正例,ROC曲线水平上升一个单位,每新增一个反例,ROC曲线水平向右增加一个单位。最特殊的是上面例子中选定0.47作为正例阈值时,正例和反例各增加了一个,因此线段斜向上倾斜。


绘制过程如上图所示。


  • 证明AUC=1-  rank


现在已知排序损失定义为:

image.png

试证明:AUC=1- rank,也就是说明上述式子的含义是曲线上方的面积。

证明:

image.png

  • 上面式子第一项解释:

针对每个被选入当作正例的正点,在它被选入之前,那些预测值大于它的反点已被选入正例,也就是ROC曲线上已经向右平移 image.png 个单位,再乘于高 image.png便得到每条绿色线段左边矩形的面积。


  • 上面式子第二项解释:


针对每个被选入当作正例的正点,当它选入时,可能会有一些反点和它预测值相同而被当作正例看待,因此ROC曲线上会同时向上、向右分别平移1个单位image.png单位,因此整体线段会斜向上延伸,如上图蓝色线段所示,多的三角形面积计算公式便为:image.png

因此:image.png


「参考」:

  1. https://www.jianshu.com/p/9d70c26b73a2
  2. https://github.com/datawhalechina/pumpkin-book


目录
相关文章
|
4月前
|
Python
DataFrame排序和排名案例解析
本文演示了如何使用pandas对DataFrame进行排序和排名。首先,通过`pd.DataFrame()`将字典转换为DataFrame,然后利用`sort_values()`按'年龄'列进行升序排序。此外,还使用`rank()`方法为'年龄'列生成排名,并将其添加到DataFrame中作为新的'年龄排名'列。
82 0
|
4月前
|
NoSQL MongoDB Python
深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析
使用 sort() 方法对结果进行升序或降序排序。 sort() 方法接受一个参数用于“字段名”,一个参数用于“方向”(升序是默认方向)。
95 0
|
10月前
各种基础排序的超详细解析及比较
各种基础排序的超详细解析及比较
35 0
|
3月前
|
存储 算法 数据可视化
【模拟面试问答】深入解析力扣164题:最大间距(桶排序与排序方法详解)
【模拟面试问答】深入解析力扣164题:最大间距(桶排序与排序方法详解)
|
3月前
|
存储 算法 搜索推荐
深入解析力扣179题:最大数(自定义排序法详解及模拟面试问答)
深入解析力扣179题:最大数(自定义排序法详解及模拟面试问答)
|
3月前
|
NoSQL MongoDB 数据库
MongoDB排序操作解析:优化性能,精准控制数据展示
MongoDB排序操作解析:优化性能,精准控制数据展示
|
4月前
|
存储 Java
Java TreeMap:基于红黑树的排序映射解析
Java TreeMap:基于红黑树的排序映射解析
|
4月前
|
安全 Java
Java TreeSet:基于红黑树的排序集合解析
Java TreeSet:基于红黑树的排序集合解析
|
算法 搜索推荐
分治法实现合并排序(归并排序),理解分治算法思想,实现分治算法的完美例子合并排序(含码源与解析)
分治法实现合并排序(归并排序),理解分治算法思想,实现分治算法的完美例子合并排序(含码源与解析)
152 0
|
4月前
|
算法 Java
②【Java 组】蓝桥杯省赛真题解析 [振兴中华] [三部排序] 持续更新中...
②【Java 组】蓝桥杯省赛真题解析 [振兴中华] [三部排序] 持续更新中...
42 0

热门文章

最新文章

推荐镜像

更多