排序-指标解读

news2025/1/18 8:53:26

一、ROC

ROC曲线全称是(receiver operating characteristic cure)受试者工作特征曲线。

首先大家看到这里肯定会好奇,为啥名字这么奇怪,来一波背景介绍先。

“ROC起先应用于军事领域,据说在第二次世界大战期间,ROC 曲线最先是由战线前沿的电子工程师和雷达工程师联合发明的。雷达兵的任务很明确,就是盯着雷达显示屏,查看是否有敌机来袭(显然,有敌机和没有敌机是一个典型的二分类问题)。当然如果有飞鸟来袭,也会出现信号,如果过于谨慎有信号就报告,会增加误报风险,但如果过于大胆,凡是信号都认为是飞鸟这会出现很大风险。ROC曲线正是解决此类问题,即用于尽最大可能研究敌机信号和飞鸟信号之间的区别,以增加预报准确性。

于是嘞,军方的电子工程师汇总了所有雷达兵的预报数据,特别是漏报和误报的概率,并把这些概率一一绘制到一个二维坐标系中。这个坐标系的纵坐标为TPR(真阳性率,True Positive Rate),它表示敌机真的来袭时雷达兵能够预报正确的概率。横坐标为FPR(假阳性率,False Positive Rate,简称 FPR),它表示非敌机来袭(如飞鸟飞过)时,雷达兵将其误判为敌机来袭的概率。”

ok,基于以上背景,我相信大家都有了一定的背景铺垫了,这个里面引出了两个词TPR和FPR,我来在重解释一下。

TPR:代表纵坐标的值,该值的计算=(预测为正&&实际为正的样本数)/所有正样本数

FPR:代表横坐标的值,该值的计算=(预测为正&&实际为负的样本数)/所有负样本数

军官的期望是什么呢?他希望得到一个完全正确的分类,也就是当横坐标是0的时候,也就是所有的负样本都没有预测为正,此时的纵坐标对应的是1,也就是所有的正样本都预测为正。那么此时就不会误报了,模型很准确了,刚好可以分开,但是现实中的数据总会有交集,导致无法完全区分开。那我们如何判断这个雷达,或者说这个模型预测是否准确呢?就通过我们刚刚提到的roc曲线这个是方法,引出的auc这一概念来辅助我们判断雷达的预测准确率

二、AUC

AUC,不是我们经常提到的accuracy哈,是area under cure。

通过roc的方式,我们可以将现有的训练数据,计算纵坐标TPR和横坐标FPR,产生很多的点,通过描点连线,会产生如下的图,而其中的auc顾名思义,就是roc曲线下的面积,也就是阴影面积。

1>通过下图我们可以发现,什么时候是完美的模型?

当auc=1时,也就是全是阴影部分的时候,此时模型完美预测,也就是当横坐标是0的时候,纵坐标为1.

2>什么时候是个好模型?

0.5<auc<1时,这个区间比较常见。

3>当auc = 0.5的时候呢?

盲猜咯,已经没有什么价值了。

 综上3点,也就是说auc越大越好,但是这么理解可能还是有点生硬,全体坐好,跟着我在升华一下理解!究竟这个auc也就是这个积分的面积,是啥呢?我们已经知道了是通过TPR和FPR围起来的面积了,但实际的意义是什么呢?

回归一下,TPR和FPR的概念,我们上图画的是归一化后的曲线,但如果不做归一化呢?假设有M个正样本,N个负样本,那纵坐标的最高点从1->M,横坐标的最远点从1->N。

auc = S(阴影面积)/S(矩形面积)

阴影面积代表着:这个正样本预测为正的概率在多少个负样本前,它的后面有多少个负样本。

这里再具体一点,就是每个样本会有个模型预测的概率,[0-1]之间,假设(完美模型的例子)

3个正样本的概率: 0.9,0.8,0.7   4个负样本的概率是:0.6,0.5,0.2,0.1

那么此时当我们选阈值为0.9时,就是我们用0.9来做分界线,我们认为预测概率大于等于0.9才是正样本,预测概率小于0.9就是负样本,此时当阈值是0.9时,该正样本后有4个负样本。

一种极端情况就是,当横坐标是0时,也就是没有样本实际为负但预测为正,此时,纵坐标是M,也就是所有的正样本都预测为正。也就是说,完美模型,正负样本完全分开。

那整个矩形面积就从1*1->M*N。

极端情况下,完美模型,auc=(遍历所有正样本,每个正样本都比N个负样本大)/M*N

                                                = M次的N相加/M*N = 1

代码层面,这个原理,就是上面的升华理解,有不太理解的地方,欢迎踊跃留言哈!:

true_arr = [1, 1, 1, 1, 1, 0, 0, 0, 0]
pred_arr = [0.9, 0.8, 0.7, 0.6, 0.6, 0.5, 0.4, 0.3, 0.2]
def cal_auc(true_arr, pred_arr):
    #首先按照概率从高到低排序
    list_ori = []
    for i in range(len(true_arr)):
        list_ori.append((true_arr[i],pred_arr[i]))
    new_list = sorted(list_ori,key = lambda x:x[1],reverse = True)
    print(new_list)
    auc = 0
    #正样本个数M,负样本个数N
    M,N = 0,0
    #Z代表,负样本前有多少个正样本,和正样本之后有多少个负样本
    Z = 0
    for item in new_list:
        #如果是负样本的话
        if item[0] == 0:
            N += 1
            Z += M
        elif item[0] == 1:
            M += 1
    auc = Z/(M*N)
    return auc
cal_auc(true_arr,pred_arr)

三、GAUC

大家如果看到上面的部分累了,可以休息一下,如果休息好或者还有精力,请坐好,我们继续升华!从AUC-GAUC。

参考博客

ROC曲线是什么_IT孔乙己的博客-CSDN博客_roc曲线

Roc曲线_spssau的博客-CSDN博客_roc曲线

ROC曲线 和 AUC 直白详解_小小酥_LH的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41472.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

几分钟快速学会Linux开启启动服务

背景 最近在银行遇到一个部署问题&#xff0c;uat、prod 两个环境的ECS中的服务要求制作好基础镜像&#xff0c;上环境的时候只需要在对应的ECS中选择更换系统即可&#xff0c;不允许传统连接SSH上去安装&#xff0c;这就要求我们就得提前把需要运行的服务内置到系统中&#x…

债券数据集:绿色债券数据集、历时新发、发行债券、DCM定价估值四大指标数据

1、绿色债券数据集 1、数据来源&#xff1a;wind 2、时间跨度&#xff1a;2016.01-2021.11年 3、区域范围&#xff1a;全国 4、指标说明&#xff1a; 部分指标如下&#xff1a; 数据截图如下&#xff1a; 2、历史新发债券数据库 1、数据来源&#xff1a;wind 2、时间跨度…

领悟《信号与系统》之 傅立叶变换的性质与应用

傅立叶变换的性质与应用一、傅里叶变换性质表二、傅里叶性质详细1. 线性性质2. 尺度变换特性3. 时移特性4. 频移特性5. 时域微分特性6. 频域微分特性7. 时域积分特性8. 频域积分特性9. 卷积定理1. 时域卷积定理2. 频域卷积定理10. 对称性11. 帕塞瓦尔定理依据傅里叶变换对概念&…

xxl-job 快速使用

xxl-job 快速使用xxl-job 简单使用注意事项执行xxl-job 简单使用 xxl-job 官方使用说明 XXL-JOB是一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线&#xff0c;开箱即用。 注意事项 详细可…

【Canvas】js用Canvas绘制阴阳太极图动画效果

学习JavaScript是否兴趣缺缺&#xff0c;那就需要来一个兴趣学习&#xff0c;问一下有没有兴趣用Canvas画图呢&#xff0c;可以画很多有趣的事物&#xff0c;自由发挥想象&#xff0c;收获多多哦&#xff0c;这里有一个例子&#xff0c;如何用canvas画阴阳太极图动图效果&#…

王道考研——操作系统(第二章 进程管理)(死锁)

一、死锁的概念 什么是死锁 死锁、饥饿、死循环的区别 死锁产生的必要条件 什么时候会发生死锁 死锁的处理策略 知识回顾与重要考点 二、死锁的处理策略——预防死锁 知识总览 破坏互斥条件 破坏不剥夺条件 破坏请求和保持条件 破坏循环等待条件 知识回顾与重要考点 与前面哲…

分省/市/县最低工资标准(2012-2021年)和 全国/省/市/县GDP数据(1949-2020年)

一、最低工资数据 1、数据来源&#xff1a;各省\市\县政府公布资料 2、时间跨度&#xff1a;2012-2021年 3、区域范围&#xff1a;全国各省\市\县 4、指标说明&#xff1a; 部分数据如下&#xff1a; 二、各省市县人均GDP 1、数据来源&#xff1a;地方统计局 2、时间跨度…

常用PC,移动浏览器User-Agent大全

常用PC,移动浏览器User-Agent大全,提供PC浏览器user-agent&#xff0c;Android手机浏览器user-agent大全 PC端User-Agent IE 9.0 IE 8.0 IE 7.0 IE 6.0 Firefox 4.0.1–MAC Firefox 4.0.1–Windows Opera 11.11–MAC Opera 11.11–Windows Chrome 17.0–MAC safari 5…

现在的湖仓一体像是个伪命题

文章目录开放的计算引擎SPL助力湖仓一体开放且完善的计算能力多数据源混合计算文件计算支持完善的计算能力直接访问源数据数据整理后的高性能计算SPL资料从一体机、超融合到云计算、HTAP&#xff0c;我们不断尝试将多种应用场景融合在一起并试图通过一种技术来解决一类问题&…

AWS Lambda从入门到精通

这里写自定义目录标题AWS Lambda从入门到精通介绍调用AWS Lambda的函数请求响应&#xff08;RequestResponse&#xff09;式调用采用请求响应的同步方式以函数作为应用程序的后端后端应用程序的用例和需求AWS Lambda从入门到精通 Amazon发布AWS Lambda服务&#xff0c;云计算的…

Windows配置python3环境变量解决无法识别pip指令报错

Python官网下载 Python官网下载地址 在Windows系统中&#xff0c;推荐下载.msi或.exe安装包。需要注意&#xff0c;python3和python2的语法有很大区别&#xff0c;按照实际情况下载对应版本。本次安装的是Python 3.10.8稳定版。 环境变量配置 安装过程 如果是以.exe安装包方…

机器学习中的数学基础(三):随机变量

机器学习中的数学基础&#xff08;三&#xff09;&#xff1a;随机变量3 随机变量3.1 离散型随机变量3.2 连续型随机变量3.3 简单随机抽样3.4 似然函数3.5 极大似然估计在看西瓜书的时候有些地方的数学推导&#xff08;尤其是概率论的似然、各种分布&#xff09;让我很懵逼&…

【学习笔记46】JavaScript购物车的实现

一、案例效果 1、将通过数据重构页面 查询数据, 渲染页面 2、全选 选中全选按钮后, 根据全选按钮的选中状态, 修改所有商品的选中状态重新渲染视图 3、清空购物车 清空商品数据重新渲染视图 4、结算 找到所有选中的商品计算所有选中商品各自的总价计算所有选中商品的总价…

【MySQL】MVCC原理分析 + 源码解读 -- 必须说透

文章目录前言一、MVCC 介绍二、MySQL MVCC 介绍三、MySQL MVCC实现原理源码分析3.1 隐式字段源码验证3.2 undo logundo log格式undo log源码验证写insert undo log源码写update undo log源码写undo log源码roll_ptr是如何指向insert undo log的?roll_ptr是如何指向update undo…

Thymeleaf模板

Thymeleaf可用于前后端分离&#xff0c; 下图&#xff0c;value"aa"&#xff0c; 在本地静态资源可以改变值&#xff0c;但是在web端不可以 前端可以在本地测试&#xff0c;有数据了显示数据 所以前后端分离 th属性 常用th属性解读html有的属性&#xff0c;Thymel…

集合框架----源码解读LinkedList篇

1.LinkedList官方介绍 双链表实现的list和Deque接口。实现所有可选的列表操作&#xff0c;并允许所有元素(包括null)。 所有的操作都按照双链表的预期执行。索引到列表中的操作将从列表的开始或结束遍历列表&#xff0c;以更接近指定索引的为准。 注意&#xff0c;这个实现不是…

全球价值链GVC总出口分解(2011-2014年)

1、数据来源&#xff1a;&#xff29;&#xff23;&#xff29;&#xff2f;数据库 2、时间跨度&#xff1a;2011-2014年 3、区域范围&#xff1a;世界 4、指标说明&#xff1a; 全球价值链分析(Global Value Chain analysis&#xff0c;简称GVC分析)为解决传统贸易统计中…

数据库 1.关系

从关系开始&#xff1a; Table的严格定义&#xff1a; 域就是&#xff1a;学生表{名字&#xff08;char(20),学号(int20)&#xff09;}里面的char20,int20,是用来标记列的数据类型&#xff0c;或者说取值范围的。这个取值范围有一个大小&#xff0c;这个大小就是基数。 就是每种…

世界各国自然资源租金面板数据

1、数据来源&#xff1a;世界银行《世界发展指标数据库》 2、时间跨度&#xff1a;1970-2018年 3、区域范围&#xff1a;全球 4、指标说明&#xff1a; 自然资源租金总额是石油租金、天然气租金、煤炭&#xff08;硬煤和软煤&#xff09;租金、矿产租金和森林租金之和。 …

11.20 至 11.27 五道典型题记录: 贪心 | 应用题 | 脑筋急转弯 | 区间问题 | 双指针

11.20 至 11.27 五道典型题记录&#xff1a; 贪心 | 应用题 | 脑筋急转弯 | 区间问题 | 双指针 松懈了最近&#xff0c;要时刻保持警醒啊&#xff01;学习不能停&#xff0c;说那么多的借口不如花一些心思去学一些知识&#xff0c;之所以学到的内容不成体系&#xff0c;一方面就…