“深入理解机器学习性能评估指标:TP、TN、FP、FN、精确率、召回率、准确率、F1-score和mAP”

news2024/10/7 10:24:42

目录

引言

分类标准

示例:癌症检测

1. 精确率(Precision)

2. 召回率(Recall)

3. 准确率(Accuracy)

4. F1-score

5. mAP(均值平均精度)

总结与通俗解释


引言

机器学习的核心目标之一是构建出具有良好性能的模型。为了评估模型的性能,我们依赖于一系列重要的指标。在本文中,我们将深入探讨这些指标,包括True Positive(TP)、True Negative(TN)、False Positive(FP)、False Negative(FN)、精确率、召回率、准确率、F1-score以及目标检测领域中常用的均值平均精度(mAP)

分类标准

示例:癌症检测

假设我们正在开发一个癌症检测模型,我们有12个患者样本,其中4个是患有癌症的正例8个是健康的负例

# 模型预测结果
predicted = [0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0]
# 实际标签
actual =    [0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0]
预测值=1预测值=0

真实值=1

3(TP)

1(FP)

真实值=01(FN)7(TN)
  • TP = 3(实际患病并被正确预测出来的数量)
  • FP = 1(实际健康但被错误预测为患病的数量)
  • FN = 1(实际患病但被错误预测为健康的数量)
  • TN = 7(实际健康并被正确预测出来的数量)

通过这些基本的概念,我们可以计算其他重要的性能指标。

1. 精确率(Precision)

精确率是指模型正确预测为正例的样本中,实际为正例的比例。计算公式为:

\text{Precision} = \frac{TP}{TP + FP}=\frac{3}{4}

  • 定义:精确率是指在所有模型预测为正例的样本中,实际为正例的比例。
  • 应用场景
    • 欺诈检测:用于确定模型正确识别欺诈交易的比例,以减少误报。
    • 医学诊断:用于评估模型正确诊断疾病的能力,减少误诊率。

2. 召回率(Recall)

召回率是指实际为正例的样本中,模型正确预测为正例的比例。计算公式为

\text{Recall} = \frac{TP}{TP + FN} =\frac{3}{4}

  • 定义:召回率是指实际为正例的样本中,模型正确预测为正例的比例。
  • 应用场景
    • 恶性肿瘤筛查:用于确保模型不会错过患有癌症的病例,减少假阴性。
    • 安全检查点:用于确保模型不会错过潜在威胁,维护公共安全。

3. 准确率(Accuracy)

准确率是指模型正确预测的样本占总样本数的比例。计算公式为:

Accuracy=\frac{TP+TN}{TP+FP+TN+FN}=\frac{10}{12}

  • 定义:准确率是指所有正确分类的样本数占总样本数的比例。
  • 应用场景
    • 二进制分类问题:用于衡量模型整体性能,特别是当正例和负例样本数量相差较大时。
    • 文本分类:用于测量模型正确分类文本的能力。

4. F1-score

F1-score综合考虑了精确率和召回率,是一个平衡两者的指标。计算公式为:

\text{F1 Score} = \frac{2 \times \text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}

  • 定义:F1分数是精确率和召回率的调和平均,用于综合考虑精确率和召回率的权衡。
  • 应用场景
    • 搜索引擎结果排序:用于衡量搜索结果的质量,平衡相关性和多样性。
    • 信息检索:用于评估检索系统的性能,以确保检索到的文档既相关又全面。

5. mAP(均值平均精度)

mAP在目标检测领域中广泛使用,是对模型在多个类别上的性能的平均度量。我们将其它指标拓展到多类别问题。计算公式为:

mAP=Precision*ReCall

如下面图形,MAP值就是Precision和ReCall所围成的矩形面积

 

  • 定义:mAP是一种用于衡量对象检测模型性能的指标,它计算每个类别的平均精确率,并将它们的平均值作为最终分数。
  • 应用场景
    • 目标检测:用于评估对象检测模型的性能,特别是当存在多个对象类别时。
    • 视觉搜索:用于评估图像检索系统的性能,以确保检索到的图像包含相关对象。

总结与通俗解释

通俗来说,准确率回答了“模型总的预测有多准”的问题;召回率回答了“模型对正例的识别能力有多强”的问题;mAP则是用于复杂任务的一个更为全面的评估指标;而F1-score则是尝试将精确率和召回率结合起来,给我们一个更为综合的评估结果。这些指标可以帮助我们更全面地了解模型的性能,从而选择或优化模型。

  • TP:模型说“这个人有病”,实际上这个人也真的有病。
  • TN:模型说“这个人没病”,实际上这个人也确实没病。
  • FP:模型误诊了健康人为病人。
  • FN:模型漏诊了真正的病人。
  • 精确率:模型说“有病”的人中,真正有病的比例。反映了模型预测的准确性。
  • 准确率:准确率是评估模型预测能力的一个基础指标,它反映的是模型所有预测中有多少是预测正确的。准确率越高,说明模型的整体预测能力越强。
  • 召回率:召回率关注的是模型对正例的识别能力。它衡量的是在所有真正的正例中,模型能正确识别出多少。召回率高,意味着模型对正例的识别能力强,不会漏掉太多真正的正例。
  • mAP:mAP是一个更为复杂的评估指标,主要用于图像分类、目标检测等任务中。它能够衡量模型在多类别上的性能,给出的是一个更为全面的评估。在实际应用中,如果我们的任务是要模型识别图像中的多个物体,那么mAP就是一个非常适合的评估指标。
  • F1-score:这是一个综合了精确率和召回率的评估指标。它试图找到一个平衡点,使得精确率和召回率都达到一个相对较高的水平。F1-score高,意味着模型在精确率和召回率上都有不错的表现。

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

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

相关文章

自动驾驶算法(九):多项式轨迹与Minimun Snap原理与Matab代码详解

目录 1 为什么需要轨迹优化 2 代码解析 3 完整代码 1 为什么需要轨迹优化 我们利用前八篇所学的博客可以利用RRT、A*、遗传算法等设计出一条折线轨迹,轨迹优化就是在路径优化的基础上将折线优化成曲线,这样更加有利于无人机的飞行。 那么什么是多项式轨…

史上第一款AOSP开发的IDE (支持Java/Kotlin/C++/Jni/Native/Shell/Python)

ASFP Study 史上第一款AOSP开发的IDE (支持Java/Kotlin/C/Jni/Native/Shell/Python) 类似于Android Studio,可用于开发Android系统源码。 Android studio for platform,简称asfp(爱上富婆)。 背景&下载&使用 背景 由…

8.4 矢量图层点要素分类(Categorized)渲染使用

文章目录 前言分类(Categorized)渲染QGis代码实现 总结 前言 前面几章介绍了矢量-点要素-单一符号的各种用法所谓单一符号是指点要素的符号在图层显示时只有一种形式下面介绍的分类(Categorized)渲染说明:文章中的示例…

【Python爬虫库】pytube使用方法

一、pytube库简介 pytube库是一个python第三方库,用于youtube视频的抓取和其他相关操作。官方文档:pytube 二、基本操作 1、显示视频标题 from pytube import YouTube yt YouTube(https://youtube.com/watch?vIAJsZWhj6GI) print(yt.title)说明&am…

自建网盘平台搭建(源码+教程)

为什么要自己搭建网盘,现在许多大厂的网盘,文件都添加了许多限制,有好多文件会遭到和谐,而且大部分网盘也都会限速,不开通VIP是很难用的!这是一套可以运营的网盘,代码无加密可以进行二次开发。下…

dos命令bat结合任务计划程序自动执行py文件

效果 bat文件 run.bat @echo off call C:\ProgramData\Anaconda3\Scripts\activate.bat pytorch C:\ProgramData\Anaconda3\envs\pytorch\python.exe E:\Gerapy_py\gerapy\projects\xmtv\xmtv\start_urls.py下面这个bat文件可以用来判断py文件是否执行成功 @echo off call C…

【Java】Netty创建网络服务端客户端(TCP/UDP)

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍Netty创建网络服务端客户端示例。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更…

MySQL模糊查询/模式匹配(Pattern Match)

使用SQL查询数据时,时常会遇到这种情况,我们并不需要精确的匹配,而是要查找具有某类特点的数据。这种场景我们就要用到模糊查询。MySQL中常用的模糊查询方法有2种: like语句模糊查询regexp正则表达式模式匹配 目录 一、使用like模…

基于SSM的社区生鲜电商平台

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

Java / Android 多线程和 synchroized 锁

s AsyncTask 在Android R中标注了废弃 synchronized 同步 Thread: thread.start() public synchronized void start() {/*** This method is not invoked for the main method thread or "system"* group threads created/set up by the VM. Any new functionali…

Visual Interpretability for Deep Learning: a Survey

Visual Interpretability for Deep Learning: a Survey----《深度学习的视觉可解释性:综述》 摘要 本文回顾了最近在理解神经网络表示以及学习具有可解释性/解耦的中间层表示的神经网络方面的研究。尽管深度神经网络在各种任务中表现出了优越的性能,但可解释性始终…

基于SpringBoot+Vue+uniapp微信小程序实验室预约管理平台详细设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

getid3 获取视频时长

1、首先,我们需要先下载一份PHP类—getid3https://codeload.github.com/JamesHeinrich/getID3/zip/master 2.我在laravel6.0 中使用 需要在composer.json 自动加载 否则系统访问不到 在命令行 执行 composer dump-autoload $getID3 new \getID3();//视频文件需要放…

【PostgreSql本地备份为dump文件与恢复】使用脚本一键备份为dump文件

环境:windows数据库:postgresql 1.准备脚本 backUpDb.bat 脚本为备份脚本,双击运行,右键可以选择编辑;restoreDb.bat 脚本为恢复脚本,双击运行,右键选择编辑; 1.1 脚本介绍 如上图…

数据结构:串(定义,基本操作,存储结构)

目录 1.串的定义2.串的基本操作3.字符集编码4.串的存储结构1.顺序存储2.链式存储 1.串的定义 串,即字符串( String)是由零个或多个字符组成的有限序列。 一般记为s ‘a1a2……an’ (n ≥0) 其中,S是串名,单引号括起来的字符序列是…

企业清算有哪些类型?在哪里可以查看相关公告?

企业清算是什么? 企业清算指企业按章程规定解散以及由于破产或其他原因宣布终止经营后,对企业的财产、债权、债务进行全面清查,并进行收取债权,清偿债务和分配剩余财产的经济活动。 企业清算给分为破产清算,非破产清…

华为云交换数据空间 EDS:“可信、可控、可证”能力实现你的数据你做主

文章目录 前言一、数据安全流通价值的必要性和紧迫性1.1、交换数据空间(EDS)背景1.2、《数字中国建设整体布局规划》1.3、数据流通成为制约数据要素价值释放的瓶颈 二、华为云 EDS 解决方案介绍2.1、构建可控数据交换空间2.2、可控的数据交换框架2.3、定…

互联网医院|线上医疗引领行业发展

您是否曾经遇到过这样的问题:在忙碌的工作中,突然感到身体不适,但却又不想浪费时间和金钱去实体医院?或者是因为疫情的限制,出门看病变得困难重重?那么,今天我要向您介绍的,正是解决…

中断 NVIC的概念和原理

1.什么是中断 中断: 由于中断源的触发,常规程序被打断, CPU转 而运行中断响应函数,而后又回到常规程序的执行, 这一过程叫做中断。 中断优先级的概念 中断的意义和作用 中断处理的过程和术语 STM32 GPIO外部中断简…

【java:牛客每日三十题总结-3】

java:牛客每日三十题总结 总结如下 总结如下 集合相关知识点 Collection主要的子接口: List:可以存放重复内容 Set:不能存放重复内容,所有重复的内容靠hashCode()和equals()两个方法区分 Queue:队列接口 SortedSet:可以对集合中的数据进行排序 Map没有继承Collection接口&…