机器学习:混淆矩阵、准确率、错误率、灵敏度、特异度、精准率、召回率、F-Measure、ROC曲线 PR曲线

article/2025/9/11 1:26:04

文章目录

    • 概念
    • Two Examples
      • Example 1
      • Example 2
    • ROC曲线
    • PR曲线
    • References

概念

混淆矩阵(Confusion-Matrix)

符号含义
TP(True Positives)【真正】样本为正,预测结果为正
FP(False Positives)【假正】样本为负,预测结果为正
TN(True Negatives)【真负】样本为负,预测结果为负
FN(False Negatives)【假负】样本为正,预测结果为负

具体来说:

正确的、相关的(wanted)不正确的、不相关的
检测出来的TP(True Positives)FP(False Positives)
未检测出来的TN(True Negatives)FN(False Negatives)
  • 准确率
    A c c u r a c y = T P + T N T P + F P + T N + F N Accuracy=\frac{TP+TN}{TP+FP+TN+FN} Accuracy=TP+FP+TN+FNTP+TN

  • 错误率(错误率与准确率相反,对某一个实例来说,二者互斥)
    E r r o r r a t e = F P + F N T P + F P + T N + F N = 1 − A c c u r a c y Error rate=\frac{FP+FN}{TP+FP+TN+FN}=1-Accuracy Errorrate=TP+FP+TN+FNFP+FN=1Accuracy

  • 灵敏度(Sensitive 表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力,在数值上等于召回率Recall)
    T P R = T P T P + F N TPR =\frac{TP}{TP+FN} TPR=TP+FNTP

  • 特异度(Specificity 表示的是将负例识别为负例的情况占所有负例的比例,衡量了分类器对负例的识别能力)
    T N R = T N T N + F P TNR =\frac{TN}{TN+FP} TNR=TN+FPTN

  • 精准率(Precision其实就是在识别出来的图片中,True positives所占的比率:)
    P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP

  • 召回率(Recall 召回率是覆盖面的度量,可以看做是被正确识别出来的样本个数与测试集中所有要识别样本个数的比值)
    R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP

  • 综合评价指标:F-measure
    P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)
    F-Measure是Precision和Recall加权调和平均:
    F = ( α 2 + 1 ) P ∗ R α 2 P + R F=\frac{(\alpha^2+1)P*R}{\alpha^2P+R} F=α2P+R(α2+1)PR
    当参数 α = 1 \alpha =1 α=1时,就是最常见的F1:precision和recall调和均值的2倍,即
    F 1 = 2 ∗ P ∗ R P + R F1=\frac{2*P*R}{P+R} F1=P+R2PR

Recall召回率 实际等同于 查全率
Precision精准率 实际等同于 查准率

Two Examples

下面举两个例子来帮助理解:

Example 1

假设一个班级有10个学生,5男5女。你用机器找女生,机器返回了一下结果:
| 男 | 女 | 女 | 男 | 女 | 男 |

TF
P33
N22
Recall = TP/(TP+FN)=3/5 = 0.6
Precise = TP/(TP+FP)=3/6=0.5
查准率为:3/6 = 0.5(返回的6个结果只有3个正确)
查全率为: 3/5 = 0.6 (所有女生有5个,但只找到3个)

Example 2

此例子来自:https://blog.csdn.net/hysteric314/article/details/54093734

  • 大雁与飞机
    假设现在有这样一个测试集,测试集中的图片只由大雁和飞机两种图片组成,如下图所示:
    1.png-74.3kB

假设你的分类系统最终的目的是:能取出测试集中所有飞机的图片,而不是大雁的图片

于是,根据之前我们定义:
True positives : 飞机的图片被正确的识别成了飞机。
True negatives: 大雁的图片没有被识别出来,系统正确地认为它们是大雁。
False positives: 大雁的图片被错误地识别成了飞机。
False negatives: 飞机的图片没有被识别出来,系统错误地认为它们是大雁。

假设你的分类系统使用了上述假设识别出了四个结果,如下图所示:
2.png-79.4kB

那么在识别出的这四张照片中:
True positives : 有三个,画绿色框的飞机。
False positives: 有一个,画红色框的大雁。

没被识别出来的六张图片中:
True negatives : 有四个,这四个大雁的图片,系统正确地没有把它们识别成飞机。
False negatives: 有两个,两个飞机没有被识别出来,系统错误地认为它们是大雁。

归纳一下就是:

TF
P31
N42

Recall = TP/(TP+FN)=3/5 = 0.6
Precise = TP/(TP+FP)=3/4=0.75
查准率为:3/4=0.75(返回的4个结果只有3个正确)
查全率为: 3/5 = 0.6 (所有飞机有5个,但只找到3个)

  • 调整阈值
    我们通过调整阈值,来选择让系统识别出多少图片,进而改变Precision 或 Recall 的值。
    在某种阈值的前提下(蓝色虚线),系统识别出了四张图片,如下图中所示:
    20170105154012966.png-97.6kB

分类系统认为大于阈值(蓝色虚线之上)的四个图片更像飞机。

我们可以通过改变阈值(也可以看作上下移动蓝色的虚线),来选择让系统识别能出多少个图片,当然阈值的变化会导致Precision与Recall值发生变化。比如,把蓝色虚线放到第一张图片下面,也就是说让系统只识别出最上面的那张飞机图片,那么Precision的值就是100%,而Recall的值则是20%。如果把蓝色虚线放到第二张图片下面,也就是说让系统只识别出最上面的前两张图片,那么Precision的值还是100%,而Recall的值则增长到是40%。

RetrievalPrecisionRecall
TOP 1 Image100%20%
TOP 2 Image100%40%
TOP 3 Image66%40%
TOP 4 Image75%60%
TOP 5 Image60%60%
TOP 6 Image66%80%
TOP 7 Image57%80%
TOP 8 Image50%80%
TOP 9 Image44%80%
TOP 10 Image50%100%

ROC曲线

ROC曲线(receiver operating characteristic curve,简称ROC曲线),以TPR为y轴,以FPR为x轴,我们就直接得到了RoC曲线。从FPR和TPR的定义可以理解,TPR越高,FPR越小,我们的模型和算法就越高效。也就是画出来的RoC曲线越靠近左上越好。如下图左图所示。从几何的角度讲,RoC曲线下方的面积越大越大,则模型越优。所以有时候我们用RoC曲线下的面积,即AUC(Area Under Curve)值来作为算法和模型好坏的标准。

20180511113430525.png-41.8kB

PR曲线

以精确率(precision)为y轴,以召回率(recall)为x轴,我们就得到了PR曲线。精准率和召回率是互相影响的,理想情况下肯定是希望做到两者都高,这样我们的模型和算法就越高效。但是一般情况下准确率高、召回率就低,召回率低、准确率高。
如果一个分类器的性能比较好,会让Recall值增长的同时保持Precision的值在一个很高的水平;而性能比较差的分类器可能会损失很多Precision值才能换来Recall值的提高。通常情况下,文章中都会使用Precision-recall曲线,来显示出分类器在Precision与Recall之间的权衡。


References

  • 《机器学习》周志华

  • https://blog.csdn.net/hysteric314/article/details/54093734

  • https://www.cnblogs.com/Zhi-Z/p/8728168.html


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

相关文章

【模型评估】混淆矩阵(confusion_matrix)之 TP、FP、TN、FN;敏感度、特异度、准确率、精确率

你这蠢货,是不是又把酸葡萄和葡萄酸弄“混淆”啦!!!这里的混淆,我们细品,帮助我们理解名词“混淆矩阵” 上面日常情况中的混淆就是:是否把某两件东西或者多件东西给弄混了,迷糊了。把…

ROC曲线的绘制过程/AUC/TPR、FPR、敏感度和特异度

在选择诊断试验时,一些研究学者会在灵敏度和特异度的取舍之间徘徊。那么,是否可以综合灵敏度和特异度之间的特点,选择一个指标来评价诊断实验之间的准确性呢?Lusted在1971年提出了受试者工作特征曲线(receiver operati…

ROC/AUC 简易试验 最佳截断点 混淆矩阵 敏感度 特异度 约登指数 各个指标置信区间

ROC/AUC 简易试验 最佳截断点 敏感度 特异度 约登 召回率 混淆矩阵 学习链接, 鼠标放这里 常规学习下面这个矩阵 金标准-模型True Positives(TP)False Positives(FP)-False Negatives(FN)True Negatives(TN)PN 正确率 Accuracy (TPTN)/(PN) 错误率 Error Rate 1 – Accu…

分类性能度量指标 : ROC曲线、AUC值、正确率、召回率、敏感度、特异度

转自 : https://blog.csdn.net/tanzuozhev/article/details/79109311 https://zhuanlan.zhihu.com/p/66885681 正确率(Precision):真阳性率(True Positive Rate,TPR),灵敏度(Sensitivity),召回率(Recall):…

深度学习之卷积神经网络中常用模型评估指标(混淆矩阵,精确率,召回率,特异度计算方法)——python代码

深度学习之卷积神经网络中常用模型评估指标(混淆矩阵,精确率,召回率,特异度计算方法): 混淆矩阵,精确率,召回率,特异度作为卷积神经网络的模型性能评价指标,它们的计算和绘制具有非常重要的意义,特别是在写论文的时候,我们往往需要这些指标来证明我们模型的优异性,…

深度学习中评估指标:准确率Accuracy、召回率Recall、精确率Precision、特异度(真阴性率)和误报率、灵敏度(真阳性率)和漏报率、F1、PR、ROC、AUC、Dice系数、IOU

目录 准确率(Accuracy) 精确率(Precision,查准率) 召回率(RecallTPR) Precision-Recall曲线 F值(F-Measure,综合评价指标) 特异度TNR(真阴性…

灵敏度和特异度的置信区间怎么算?

很多医学生及医生经常会对诊断实验进行评价,评价诊断试验的常用指标及计算方法都比较容易掌握,但是少有人知道其相应的95%的置信区间的计算方法。我们简单的回顾一下,诊断试验评价的基本方法是用所谓的“金标准”,确诊区分患者和非…

JavaScript基础之缓存机制:HTTP缓存机制

说到前端的缓存机制,无非就是俩中,一种是浏览器缓存机制,一种就是我们今天要说的HTTP缓存机制。那么接下来就说说这HTTP缓存机制。 什么是HTTP缓存? HTTP缓存指的是,当客户端向服务器请求资源时,会先抵达…

面试:HTTP缓存机制

深入理解 HTTP 缓存机制 - 刘星的个人网站 深入理解HTTP缓存机制及原理 - 掘金 面试题 “ 能不能说下 304 的过程,以及影响缓存的头部属性有哪些?” 304 状态码是表示缓存 301 表示被请求 url 永久转移到新的 url;302 表示被请求 url 临时…

HTTP缓存机制--客户端缓存

HTTP缓存机制分为两种,客户端缓存和服务端缓存,本文主要对客户端缓存进行简单的分析。 服务端缓存 服务端缓存又分为 代理服务器缓存 和 反向代理服务器缓存(也叫网关缓存,比如 Nginx反向代理、Squid等),其…

【浏览器】HTTP 缓存机制

HTTP 缓存机制 HTTP 缓存存储与请求关联的响应,并将存储的响应复用于后续请求。 分类 私有缓存 & 公有缓存 HTTP Caching 标准中,有两种不同类型的缓存:私有缓存和共享缓存。 私有缓存是绑定至特定客户端的缓存——通常是浏览器缓存&…

http协议+缓存机制

http协议缓存机制 文章目录 http协议缓存机制前言一、http1.http1.0/1.12.http2.03.一个TCP连接可以发送多少个HTTP请求4.浏览器最多可以向同一个host建立几个TCP连接5.其他关于http 二、缓存1.强缓存2.协商缓存3.etag解决了last-modified不能解决的问题4.Nginx如何配置缓存 前…

彻底弄懂HTTP缓存机制及原理

前言 Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能。 但是对于很多前端同学来说,仅仅只是知道浏览器会对…

【网络】http缓存机制

HTTP缓存有多种规则,根据是否需要重新向服务器发起请求来分类,我们将其分为两大类 强制缓存对比缓存 流程 强制缓存流程如下 对比缓存流程如下 强制缓存 我们知道,强制缓存在数据为失效的情况下,可以直接使用缓存数据 在没…

彻底理解浏览器的Http缓存机制

概述 浏览器的缓存机制也就是我们说的HTTP缓存机制,其机制是根据HTTP报文的缓存标识进行的,所以在分析浏览器缓存机制之前,我们先使用图文简单介绍一下HTTP报文,HTTP报文分为两种:HTTP请求(Request)报文,报文格式为:请求行 – HTTP头(通用信息头,请求头,实体头) – 请…

彻底理解浏览器的缓存机制(http缓存机制)

一、概述 浏览器的缓存机制也就是我们说的HTTP缓存机制,其机制是根据HTTP报文的缓存标识进行的,所以在分析浏览器缓存机制之前,我们先使用图文简单介绍一下HTTP报文,HTTP报文分为两种: 同步sau交流学习社区(首发):https://www.mwcxs.top/page/565.html。 1、HTTP请求…

HTTP缓存机制与原理详解

1.1 - 缓存 缓存可以重用已获取的资源能够有效的提升网站与应用的性能。Web 缓存能够减少延迟与网络阻塞,进而减少显示某个资源所用的时间。借助 HTTP 缓存,Web 站点变得更具有响应性。缓存分为两点:强制缓存和协商缓存 1.2 - 强制缓存 概念…

浏览器缓存机制(HTTP缓存机制)

不废话,直接上干货,配图解说 首先浏览器首次请求一个网站,网站除了会返回我们需要资源,同时也会返回一些标识信息,这些标识信息约定了客户端和服务端的一些操作,这里列举重要的: 1.cache-contr…

HTTP的缓存机制

前面的话 缓存机制可以有很多种:比如客户端缓存、服务端缓存、代理服务器缓存等。 而本文主角HTTP的缓存是浏览器缓存。为什么这么说,下面来详细介绍一下。 HTTP缓存分类 HTTP缓存可以分为强缓存 与协商缓存。 强制缓存 当缓存数据库中已经有所请求…

HTTP 缓存机制详解

文章目录 HTTP Cache什么是 HTTP Cache关键字简单流程图代码准备不设置明确禁止缓存private与public缓存过期策略1、三种方式设置服务器告知浏览器缓存过期时间2、两种方式校验资源过期 强制校验缓存性能优化期中总结:HTTP 缓存性能检查清单前端工程化参考附代码 HT…