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

article/2025/10/7 23:53:50

准确率,精准率,召回率

分类问题中的混淆矩阵如下
在这里插入图片描述
TP: 预测为1,预测正确,即实际1

FP: 预测为1,预测错误,即实际0

FN: 预测为0,预测错确,即实际1

TN: 预测为0,预测正确即,实际0

准确率 accuracy

准确率的定义是预测正确的结果占总样本的百分比,其公式如下:
准确率=(TP+TN)/(TP+TN+FP+FN)
虽然准确率可以判断总的正确率,但是在样本不平衡 的情况下,并不能作为很好的指标来衡量结果。举个简单的例子,比如在一个总样本中,正样本占90%,负样本占10%,样本是严重不平衡的。对于这种情况,我们只需要将全部样本预测为正样本即可得到90%的高准确率,但实际上我们并没有很用心的分类,只是随便无脑一分而已。这就说明了:由于样本不平衡的问题,导致了得到的高准确率结果含有很大的水分。即如果样本不平衡,准确率就会失效。

精准率 Precision

精准率(Precision)又叫查准率,它是针对预测结果 而言的,它的含义是在所有被预测为正的样本中实际为正的样本的概率,意思就是在预测为正样本的结果中,我们有多少把握可以预测正确,其公式如下:
精准率=TP/(TP+FP)
精准率代表对正样本结果中的预测准确程度,而准确率则代表整体的预测准确程度,既包括正样本,也包括负样本。

召回率 Recall

召回率(Recall)又叫查全率,它是针对原样本而言的,它的含义是在实际为正的样本中被预测为正样本的概率,其公式如下:
精准率=TP/(TP+FN)
召回率的应用场景: 比如拿网贷违约率为例,相对好用户,我们更关心坏用户,不能错放过任何一个坏用户。因为如果我们过多的将坏用户当成好用户,这样后续可能发生的违约金额会远超过好用户偿还的借贷利息金额,造成严重偿失。召回率越高,代表实际坏用户被预测出来的概率越高,它的含义类似:宁可错杀一千,绝不放过一个

F1值

我们希望精准率和召回率同时都非常高。 但实际上这两个指标是一对矛盾体,无法做到双高。如果其中一个非常高,另一个肯定会非常低。选取合适的阈值点要根据实际需求,比如我们想要高的查全率,那么我们就会牺牲一些查准率,在保证查全率最高的情况下,查准率也不那么低。
在实际情况中,不会有分类器仅仅以精确度(Precision)或者召回率(Recall)作为单一的度量标准,而是使用这两者的调和平均,于是就有了F值(F-Score),F1分数同时考虑了查准率和查全率,让二者同时达到最高,取一个平衡。
F1分数的公式为 = 2精准率 * 召回率 / (精准率 + 召回率)。

ROC曲线 AUC值

ROC曲线

在这里插入图片描述

首先我们需要定义下面两个变量:FPR、TPR(即为我们常说的召回recall)。
FPR表示,在所有的恶性肿瘤中,被预测成良性的比例。称为伪阳性率。伪阳性率告诉我们,随机拿一个恶性的肿瘤样本,有多大概率会将其预测成良性肿瘤。显然我们会希望FPR越小越好。
在这里插入图片描述

TPR表示,在所有良性肿瘤中,被预测为良性的比例。称为真阳性率。真阳性率告诉我们,随机拿一个良性的肿瘤样本时,有多大的概率会将其预测为良性肿瘤。显然我们会希望TPR越大越好。
在这里插入图片描述
如果以FPR为横坐标,TPR为纵坐标,就可以得到下面的坐标系:
在这里插入图片描述
点(0,1),即FPR=0,TPR=1。FPR=0说明FP=0,也就是说,没有假正例。TPR=1说明,FN=0,也就是说没有假反例。这不就是最完美的情况吗?所有的预测都正确了。良性的肿瘤都预测为良性,恶性肿瘤都预测为恶性,分类百分之百正确。这也体现了FPR 与TPR的意义。就像前面说的我们本来就希望FPR越小越好,TPR越大越好。
点(1,0),即FPR=1,TPR=0。这个点与上面那个点形成对比,刚好相反。所以这是最糟糕的情况。所有的预测都预测错了。
点(0,0),即FPR=0,TPR=0。也就是FP=0,TP=0。所以这个点的意义是所有的样本都预测为恶性肿瘤。也就是说,无论给什么样本给我,我都无脑预测成恶性肿瘤就是了。
点(1,1),即FPR=1,TPR=1。显然,这个点跟点(0,0)是相反的,这个点的意义是将所有的样本都预测为良性肿瘤。
好啦,现在我们知道了在这个坐标系上的某个点所代表的意义了。那么问题就来了,当一个分类器已经训练好了之后,那它的FPR,TPR应该是一个固定的值呀。那对应到上面的ROC坐标系上应该就是一个点了啊,那ROC曲线又是个什么意思呢?曲线下的面积又是个什么意思呢?
我们知道,在二分类(0,1)的模型中,一般我们最后的输出是一个概率值,表示结果是1的概率。那么我们最后怎么决定输入的x是属于0或1呢?我们需要一个阈值,超过这个阈值则归类为1,低于这个阈值就归类为0。所以,不同的阈值会导致分类的结果不同,也就是混淆矩阵不一样了,FPR和TPR也就不一样了。所以当阈值从0开始慢慢移动到1的过程,就会形成很多对(FPR, TPR)的值,将它们画在坐标系上,就是所谓的ROC曲线了

AUC值

AUC值了:得到了ROC曲线,我们就可以计算曲线下方的面积,计算出来的面积就是。
结论:AUC表示,随机抽取一个正样本和一个负样本,分类器正确给出正样本的score高于负样本的概率

AUC值的计算

方法一

在有M个正样本,N个负样本的数据集里。一共有MN对样本(一对样本即,一个正样本与一个负样本)。统计这MN对样本里,正样本的预测概率大于负样本的预测概率的个数。
这样说可能有点抽象,我举一个例子便能够明白。
在这里插入图片描述
假设有4条样本。2个正样本,2个负样本,那么M*N=4。即总共有4个样本对。分别是:
(D,B),(D,A),(C,B),(C,A)。
在(D,B)样本对中,正样本D预测的概率大于负样本B预测的概率(也就是D的得分比B高),记为1
同理,对于(C,B)。正样本C预测的概率小于负样本C预测的概率,记为0.
最后可以算得,总共有3个符合正样本得分高于负样本得分,故最后的AUC为
在这里插入图片描述

方法二

利用以下公式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


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

相关文章

准确率(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 ,程序工作过程中会产生很多 垃圾,这些垃圾是…

垃圾回收机制

1.常见误区 1.垃圾回收线程的优先级很高,以保证不再使用的内存将被及时回收。 (垃圾回收再jvm中优先级相当相当低。当程序运行时,至少会有两个线程开启启动,一个是我们的主线程,一个时垃圾回收线程,垃圾回…