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

简介: 深度解析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


目录
相关文章
|
Python
DataFrame排序和排名案例解析
本文演示了如何使用pandas对DataFrame进行排序和排名。首先,通过`pd.DataFrame()`将字典转换为DataFrame,然后利用`sort_values()`按'年龄'列进行升序排序。此外,还使用`rank()`方法为'年龄'列生成排名,并将其添加到DataFrame中作为新的'年龄排名'列。
300 0
|
NoSQL MongoDB Python
深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析
使用 sort() 方法对结果进行升序或降序排序。 sort() 方法接受一个参数用于“字段名”,一个参数用于“方向”(升序是默认方向)。
173 0
|
6月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
7月前
|
存储 机器学习/深度学习 算法
C 408—《数据结构》图、查找、排序专题考点(含解析)
408考研——《数据结构》图,查找和排序专题考点选择题汇总(含解析)。
284 29
各种基础排序的超详细解析及比较
各种基础排序的超详细解析及比较
76 0
|
10月前
|
前端开发 Java Maven
深入解析:如何用 Spring Boot 实现分页和排序
深入解析:如何用 Spring Boot 实现分页和排序
752 2
|
11月前
|
搜索推荐 Shell
解析排序算法:十大排序方法的工作原理与性能比较
解析排序算法:十大排序方法的工作原理与性能比较
333 9
|
11月前
|
搜索推荐 C++
【初阶数据结构】深度解析七大常见排序|掌握底层逻辑与原理(一)
【初阶数据结构】深度解析七大常见排序|掌握底层逻辑与原理
132 5
|
11月前
|
搜索推荐 索引
【初阶数据结构】深度解析七大常见排序|掌握底层逻辑与原理(二)
【初阶数据结构】深度解析七大常见排序|掌握底层逻辑与原理
119 4
|
11月前
|
人工智能 搜索推荐 算法
【初阶数据结构】深度解析七大常见排序|掌握底层逻辑与原理(三)
【初阶数据结构】深度解析七大常见排序|掌握底层逻辑与原理