准确率,精准率,召回率,真正率,假正率,ROC/AUC

article/2025/10/7 23:48:18

目录

  • 前言
  • 一.准确率
  • 二.精准率
  • 三.召回率
  • 四.精准率和召回率的关系,F1分数
  • 五.F1分数
  • 六.灵敏度和特异度
  • 七.真正率和假正率
  • 八.ROC曲线

前言

  最近在看到这些词得时候老是混淆,看了之后还很容易遗忘,于是查了些资料把他们记录下来。
我们在设计深度学习网络模型的时候经常要对其进行评估,评估就要用到这些东西,在接介绍这个率,那个率之前,我先来介绍下什么是混淆矩阵,如下表所示:
混淆矩阵:
在这里插入图片描述

  • P(Positive):代表1
  • N(Negative):代表0
  • T(True):代表预测正确
  • F(False):代表预测错误

TP:预测为1,预测正确,即实际1
FP:预测为1,预测错误,即实际0
FN:预测为0,预测错误,即实际1
TN:预测为0,预测正确,即实际0
简单记这个混淆矩阵就是前面一个表示预测正确与否,后面一个表示预测的值。

一.准确率

混淆矩阵理理解之后我们看下准确率。
准确率:
  准确率即预测正确的结果占总样本的百分比,其公式如下:
准确率 = T P + T N T P + T N + F P + F N 准确率=\frac{TP+TN}{TP+TN+FP+FN} 准确率=TP+TN+FP+FNTP+TN
  准确率虽然可以判断总的正确率,但是在样本不平衡的情况下,准确率就显得无助了。举个例子:比如一个样本中正样本占比0.95,负样本占比0.05,这个时候只需要将全部样本都预测为正样本就能够得到95%的正确率,显然是不合理的。正是因为准确率的这种缺陷,于是诞生了精准率和召回率,或者叫做查准率和查全率。

二.精准率

  精准率(Precision)又叫查准率,它是针对预测结果而言的,是指在所有被预测为正的样本中实际为正的样本的概率,意思就是在预测为正样本的结果中,我们有多少把握可以预测正确,其公式如下:
精准率 = T P T P + F P 精准率=\frac{TP}{TP+FP} 精准率=TP+FPTP
精准率就是你认为找的是对的实际上多少是对的

  注意:精准率代表对正样本结果中的预测准确程度,而准确率则代表整体的预测准确程度,既包括正样本,也包括负样本。

三.召回率

  召回率(Recall)又叫查全率,是针对原样本而言的,是指在实际为正的样本中被预测为正样本的概率,其公式如下:
召回率 = T P T P + F N 召回率=\frac{TP}{TP+FN} 召回率=TP+FNTP
召回率就是实际上是对的样本中找出来对的的概率。

  召回率又叫查全率,从他的名字上都能看出来,召回率越高,代表实际想预测出来的样本的概率越高,它的含义类似:宁可错杀一千,绝不放过一个。

四.精准率和召回率的关系,F1分数

  通过上面的公式,我们发现:精准率和召回率的分子是相同,都是TP,但分母是不同的,一个是(TP+FP),一个是(TP+FN),两者的关系可以用一个P-R图来展示,于是就得到了我们常说的P-R曲线:
在这里插入图片描述
  从图中可以看出查全率和查准率是一对矛盾体,两者成反比,想要更高的查全率,那么查准率就会降低,反之,想要更高的查准率,查全率就会降低。我们怎么理解这个曲线呢?查准率表示我们预测为正样本实际上里面有多少为正样本的概率,查全率表示实际为正样本,我找出来了多少。以一个逻辑回归举例,逻辑回归的输出是一个0到1之间的概率数字,因此,如果我们想要根据这个概率判断用户好坏的话,我们就必须定义一个阈值。通常来讲,逻辑回归的概率越大说明越接近1,也就可以说他是坏用户的可能性更大。比如,我们定义了阈值为0.5,即概率小于0.5的我们都认为是好用户,而大于0.5都认为是坏用户。因此,对于阈值为0.5的情况下,我们可以得到相应的一对查准率和查全率。这个阈值是随便定义的,为了找到一个最合适的阈值满足我们的要求,我们就必须遍历0到1之间所有的阈值,而每个阈值下都对应着一对查准率和查全率,从而我们就得到了这条曲线。
这里先补充一个知识点mAP,在目标检测里面我们经常会看到这个词,他的含义就是P-R曲线下面的面积。

五.F1分数

  下面我们来讲下什么是F1分数,通常,如果我们想要找到查准率和查全率之间的一个平衡点,我们就需要一个新的指标:F1分数。F1分数同时考虑了查准率和查全率,让二者同时达到最高,取一个平衡。F1分数的公式为:
F 1 分数 = 2 × 查准率 × 查全率 查准率 + 查全率 F1分数=\frac{2\times查准率\times查全率}{查准率 + 查全率} F1分数=查准率+查全率2×查准率×查全率

六.灵敏度和特异度

  讲完了上面的各种率,下面我们再来看下ROC/AUC。在介绍ROC/AUC之前我们还需要知道两个概念:灵敏度和特异度。
灵敏度 = T P T P + F N 灵敏度=\frac{TP}{TP+FN} 灵敏度=TP+FNTP
灵敏度就是召回率。
特异度 = T N F P + T N 特异度=\frac{TN}{FP+TN} 特异度=FP+TNTN
特异度表示实际为负样本,正确的预测为负样本的概率。但是我们通常只关心正样本的概率,二不关心负样本,于是引申出来下面的假正率。假正率表示为:表示实际为负样本,错误的预测为负样本的概率

七.真正率和假正率

  细心的小伙伴可能发现了灵敏度不就是召回率吗,只是换了个马甲而已。由于我们比较关心正样本,所以需要查看有多少负样本被错误地预测为正样本,所以使用(1-特异度),而不是特异度。所以又引申出了两个概念真正率和假正率:
真正率 = 召回率 = 灵敏度 = T P T P + F N 真正率=召回率=灵敏度=\frac{TP}{TP+FN} 真正率=召回率=灵敏度=TP+FNTP
假正率 = 1 − 特异度 = F P F P + T N 假正率=1-特异度=\frac{FP}{FP+TN} 假正率=1特异度=FP+TNFP
  通过上面的定义可以发现,真正率和假正率分别是基于实际表现1和0出发的,也就是说它们分别在实际的正样本和负样本中来观察相关概率问题。正因为如此,所以无论样本是否平衡,都不会被影响。还是拿之前的例子,总样本中,95%是正样本,5%是负样本。我们知道用准确率是有水分的,但是用真正率和假正率不一样。这里,真正率只关注95%正样本中有多少是被真正覆盖的,而与那5%毫无关系,同理,假正率只关注5%负样本中有多少是被错误覆盖的,也与那95%毫无关系,所以可以看出:如果我们从实际表现的各个结果角度出发,就可以避免样本不平衡的问题了,这也是为什么选用真正率和假正率作为ROC/AUC的指标的原因。

八.ROC曲线

  下面我们看下ROC曲线ROC(Receiver Operating Characteristic)曲线,又称接受者操作特征曲线。该曲线最早应用于雷达信号检测领域,用于区分信号与噪声。后来人们将其用于评价模型的预测能力,ROC曲线是基于混淆矩阵得出的。
  ROC曲线中的主要两个指标就是真正率和假正率,上面也解释了这么选择的好处所在。其中横坐标为假正率(FPR),纵坐标为真正率(TPR),下面就是一个标准的ROC曲线图。

在这里插入图片描述
  与前面的P-R曲线类似,ROC曲线也是通过遍历所有阈值来绘制整条曲线的。如果我们不断的遍历所有阈值,预测的正样本和负样本是在不断变化的,相应的在ROC曲线图中也会沿着曲线滑动。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  ROC曲线中我们仍然会遇到一个问题,怎么判断ROC曲线的好坏?改变阈值只是不断地改变预测的正负样本数,即真正率和假正率,但是曲线本身是不会变的。那么如何判断一个模型的ROC曲线是好的呢?这个还是要回归到我们的目的:FPR表示模型虚报的响应程度,而TPR表示模型预测响应的覆盖程度。我们所希望的当然是:虚报的越少越好,覆盖的越多越好。所以总结一下就是真正率越高,同时假正率越低(即ROC曲线越陡),那么模型的性能就越好。ROC曲线也无视样本不平衡。
AUC
  同P-R曲线的mAP一样,ROC也会计曲线下的面积,叫做AUC。比较有意思的是,如果我们连接对角线,它的面积正好是0.5。对角线的实际含义是:随机判断响应与不响应,正负样本覆盖率应该都是50%,表示随机效果。ROC曲线越陡越好,所以理想值就是1,一个正方形,而最差的随机判断都有0.5,所以一般AUC的值是介于0.5到1之间的。
AUC的一般判断标准:

  • 0.5 - 0.7:效果较低,但用于预测股票已经很不错了
  • 0.7 - 0.85:效果一般
  • 0.85 - 0.95:效果很好
  • 0.95 - 1:效果非常好,但一般不太可能

http://chatgpt.dhexx.cn/article/wsxiQtJm.shtml

相关文章

一文读懂准确率、精准率、召回率、ROC、AUC、F1值

准确率,精准率,召回率 分类问题中的混淆矩阵如下 TP: 预测为1,预测正确,即实际1 FP: 预测为1,预测错误,即实际0 FN: 预测为0,预测错确,即实际…

准确率(accuracy)、召唤率(recall)和精确率(precision)、ROC,AUC

准确率(accuracy)、召唤率(recall)和精确率(precision) 一、概述 召回率、准确率、精确率、F值的作用: 在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。 二、定义 首先给出一个…

WebStorm License Activation (WebStorm许可证激活)

User or company name(用户或公司名称): EMBRACE License key(许可证密钥): LICENSE BEGIN 89374-12042010 00001ZR8S1vh1XhRKJ"RyCdHS67DkS PtwqvZyxwRYFBdHRo61xnxm2!s"ePT PHym64P04eGd5A4T77JDanp47rgyKj LICENSE END 把这以上两段文本复制到相应的文本框里点…

webstorm 激活码

找了好多激活的都不好用,后来发现了这个,记录下,方便以后使用 打开网址(IntelliJ IDEA 注册码),下载补丁 然后将补丁复制到安装目录的bin目录下(下面框起来的是补丁路径,不一定是你们…

WebStorm 2019激活方法

1、先下载安装JetBrains WebStorm 2019,安装完成先不要运行2、接下来对软件进行注册破解,首先以记事本的方式打开hosts文件,将代码添加至hosts文件屏蔽软件联网;hosts文件默认目录【C:\Windows\System32\drivers\etc】0.0.0.0 acc…

WebStorm 2019 激活

WebStorm 2019 激活 激活码: YZVR7WDLV8-eyJsaWNlbnNlSWQiOiJZWlZSN1dETFY4IiwibGljZW5zZWVOYW1lIjoiamV0YnJhaW5zIGpzIiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3Vyc…

IDEA和Webstorm激活

全家桶激活 最近用edu邮箱申请了一个JetBrains针对学生免费的激活码。可以激活IntelliJ IDEA,WebStorm,PyCharm,PHPStorm等.. 有需要的小伙伴们可以拿去激活 有效期到2018.9.10 7WXOZVMK1E-eyJsaWNlbnNlSWQiOiI2RlIjoiQ0wiLCJwYWlkVXBU…

webstorm2018激活方法

webstorm2018激活方法 下载补丁包(IntelliJ IDEA 注册码) 把下载的补丁包复制到webstorm的安装目录的bin下面 编辑bin目录下的webstorm.exe.vmoptions和webstorm64.exe.vmoptions文件 在这两文件的最后一行加入-javaagent:E:\Program Files (x86)\Je…

webstorm2016.2.3激活(服务器+注册码方式)

目前webstorm最新版本为2016.2.3,激活方式如下: 一、服务器方式 1、联网状态下运行WS,Help---register进入激活页面,激活方式选择Licence server,然后服务器输入:http://owo.help,点击Activat…

PHPstorm webstorm idea工具激活

亲自测试,都跑起来了,激活到2099,我是win11 64 ,下载的版本统一都是2021.3 方法如下 网上找下这个激活工具 直接搜索对应激活码,基本可以用 失败:key is invalid 这个只出现在webstorm上 这个是因为之前…

WebStorm安装、配置、激活码

下载最新版的WebStorm官网地址 安装过程直接下一步即可 首次运行WebStorm会显示如下提示框:导入WebStorm的首选项设置和许可证信息 之前安装过WebStorm的,可以选择第一个选项导入之前所做的设置即可 小编是首次安装WebStorm,选择图中选项&…

WebStorm2018版永久激活方法

WebStorm是一款非常好用的前端开发神器,但是如果不购买正式版的话只能获得30天的试用期。下面就介绍一下最新2018版的永久激活步骤吧! 首先我们需要下载破解补丁,直接百度搜索关键词——IntelliJ IDEA 注册码。进入红框处网站后,…

WebStorm的安装使用简单版本教程——WebStorm激活码到设置步骤解

WebStorm软件安装使用教程 1、在官网下载好WebStorm软件2018.3版本以上的建议使用比较新的2020 2021年版本软件的 2、下载完成后安装,不会的自行百度这里我以经安装完成就不演示了比较简单的 3、如果是选择了试用期一个月的 可以等试用期过了弹出窗口再输入激活码…

webstorm2016.2简单激活方法

License server激活 这可能是最简单的了,在激活框,选择 License server, 输入:http://114.215.133.70:41017(已失效) 目前可以用以下的server地址测试: http://idea.imsxm.com/ (…

让你的 Webstorm 永久激活

让你的 Webstorm 永久激活 Webstorm 是常用的开发软件,奈何实在价格不菲,网上有很多 license server 的账号,但是 jetBrains 更新很快,需要经常更换账号。破解软件的方式又稍显复杂,网上找到了永久激活又省事的办法&a…

webstorm激活方法

安装完成后,打开 WebStorm, 在打开的 License Activation 窗口中选择第三个选项: License server。 在输入框输入网址即可 最新网址: https://s.tuzhihao.com:666/ (曾用网址在下面 , 最新网址不能用请换以前的试试) 最后点击 Activate。 提…

webstrom 激活操作

第一种 1打开网址(IntelliJ IDEA 注册码),我们能看到下面的界面,下载包放入webstrom安装位置 2 同步修改安装目录下的webstorm.exe.vmoptions和webstorm64.exe.vmoptions文件。 添加 -javaagent:H:\WebStorm 2018.3.2\bin \Jetbr…

Webstrom的安装和激活

最新的WebStrom的安装和激活 -------------------…

快速激活Webstorm

此方法步骤是针对于已经安装好的软件的,我们在打开试用的软件时候,会有试用截止日期出现。 当我们打开webstorm软件后,左键点击上面一行菜单栏中的help即”帮助“选项。点击之后,会有列表弹出,我们选择倒数第三个“reg…

垃圾回收机制学习总结

链接一篇讲的非常棒的文章 https://juejin.cn/post/6981588276356317214#heading-21 提出一些问题:方便后续回顾垃圾回收机制。 1、什么是垃圾回收机制? GC 即 Garbage Collection ,程序工作过程中会产生很多 垃圾,这些垃圾是…