AP AR
混淆矩阵
真实值=正例 | 真实值=负例 | |
预测值=正例 | TP | FP |
预测值=负例 | FN | TN |
(根据阈值预测)
P精确度计算:TP/(TP+FP)
R召回率计算:TP/(TP+FN)
AP
综合考虑P R
根据不同的阈值计算出不同的PR组合, 画出PR曲线,计算曲线下面积即为PR
(所有点插值法计算,简单来讲就是近似计算小矩形面积和)
import numpy as np
import matplotlib.pyplot as pltdef calculate_precision_recall(confusion_matrices):#计算P Rrecall = []precision = []for tp, fp, fn in confusion_matrices:if tp + fp == 0:p = 0.0else:p = tp / (tp + fp)if tp + fn == 0:r = 0.0else:r = tp / (tp + fn)precision.append(p)recall.append(r)return recall, precisiondef calculate_ap_all_points(recall, precision):#所有点插值法计算面积recall = np.concatenate(([0.], recall, [1.]))precision = np.concatenate(([0.], precision, [0.]))for i in range(precision.size - 1, 0, -1):precision[i - 1] = np.maximum(precision[i - 1], precision[i])ap = np.sum(np.diff(recall) * precision[1:])return ap# 示例 (每个元素为 [TP, FP, FN])
confusion_matrices = [[10, 0, 0], [8, 1, 2], [6, 2, 4], [5, 3, 5], [4, 4, 6], [3, 7, 7],
]# 计算精确率和召回率
recall, precision = calculate_precision_recall(confusion_matrices)# 计算AP
ap = calculate_ap_all_points(recall, precision)
print(f"平均精度 (AP): {ap}")plt.plot(recall, precision, marker='o')
plt.xlabel('Recall')
plt.ylabel('Precision')
plt.title('Precision-Recall Curve (AP = {:.3f})'.format(ap))
plt.grid(True)
plt.show()
AR
平均召回率
主要是考虑漏检,专注于R
import numpy as npdef calculate_ar(true_positives, false_negatives, max_detections):recall_values = []for tp, fn in zip(true_positives, false_negatives):if tp + fn == 0:recall = 0.0else:recall = tp / (tp + fn)recall_values.append(recall)# 假设我们只考虑前 max_detections 个召回率值if len(recall_values) > max_detections:recall_values = recall_values[:max_detections]if not recall_values:return 0.0ar = np.mean(recall_values)return ar# 示例数据
true_positives = [10, 8, 6, 5, 4, 3] # TP
false_negatives = [0, 2, 4, 5, 6, 7] # FP
max_detections = 5 # 最大检测次数# 计算AR
ar = calculate_ar(true_positives, false_negatives, max_detections)
print(f"平均召回率 (AR): {ar}")#计算maxDets 为10时候的AR
max_detections_2 = 10
ar_2 = calculate_ar(true_positives, false_negatives, max_detections_2)
print(f"平均召回率 (AR)maxDets为10 : {ar_2}")
平均精度(Average Precision,AP)以及AP50、AP75、APs、APm、APl、Box AP、Mask AP等不同阈值和细分类别的评估指标说明-CSDN博客
相关文章:
AP AR
混淆矩阵 真实值正例真实值负例预测值正例TPFP预测值负例FNTN (根据阈值预测) P精确度计算:TP/(TPFP) R召回率计算:TP/(TPFN) AP 综合考虑P R 根据不同的阈值计算出不同的PR组合, 画出PR曲线,计算曲线…...
Vue 中的 MVVM、MVC 和 MVP 模式深度解析
文章目录 1. 模式概览与核心概念1.1 模式定义1.2 架构对比图 2. MVC 模式详解2.1 MVC 流程图2.2 Vue 中的 MVC 实现 3. MVP 模式详解3.1 MVP 流程图3.2 Vue 中的 MVP 实现 4. MVVM 模式详解4.1 MVVM 流程图4.2 Vue 中的 MVVM 实现 5. 模式对比分析5.1 职责对比5.2 通信方式对比…...
WVP前后端部署
使用默认的构建,能够直接访问18080,我以为二者是一起的。实际上这不影响前后端分离。 前端服务器 构建war之后,部署到另外一台机器上,比如使用apache2。 后端服务器 修改src/main/resources/static/static/js/config.js&#…...
VSTO(C#)Excel开发9:处理格式和字体
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...
蓝耘MaaS平台:阿里QWQ应用拓展与调参实践
摘要:本文深入探讨了蓝耘MaaS平台与阿里QWQ模型的结合,从平台架构、模型特点到应用拓展和调参实践进行了全面分析。蓝耘平台凭借其强大的算力支持、弹性资源调度和全栈服务,为QWQ模型的高效部署提供了理想环境。通过细化语义描述、调整推理参…...
【统计学相关笔记】2. 多元正态的Cochran定理
fisher 引理 如何说明一个线性变换和二次型独立: 二次型矩阵和线性变换阵乘积0即可。...
Vuex 基础概念与环境搭建
Vuex 是实现数据集中式状态管理的插件。所有组件共享 Vuex 中的数据,当任意组件修改数据时,其他组件会同步更新。与全局事件总线的区别在于: 全局事件总线:数据传递但未真正共享Vuex:数据存储在中央仓库,实…...
使用 BookMarkHub 插件进行书签同步
前言: 通过 BookMarkHub 插件,你可以方便地将书签同步到 GitHub Gist,实现跨设备管理书签。以下是详细的步骤: 使用 BookMarkHub 插件进行书签同步 1. 安装 BookMarkHub 插件2. 获取 GitHub Token3. 获取 Gist ID4. 配置 BookMarkHub 插件5.完…...
用Lua脚本实现Redis原子操作
1. 环境准备 依赖:在pom.xml中添加Spring Data Redis: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency>配置RedisTemplate&#…...
【算法】位运算
文章目录 1. 常见位运算总结(图片包含五道算法题)2. leetcode 面试题 01.01 判断字符是否唯一2.1 题目2.2 思路2.3 代码 3.leetcode 268. 丢失的数字3.1 题目3.2 思路3.3 代码 4. leetcode 371.两整数之和4.1 题目4.2 思路4.3 代码 5.leetcode 137.只出现…...
HTML块级元素和内联元素(简单易懂)
在HTML中,元素可以分为块级元素(Block-level elements)和内联元素(Inline elements)。这两类元素在页面布局和样式应用上有不同的特点和用途。 一、块级元素(Block-level elements) 1. 定义 …...
【论文精读】DifFace: Blind Face Restoration with Diffused Error Contraction
文章目录 0.前言1.当前问题2.怎么解决问题3.具体做法(Method)3.1 受什么的启发?(Motivation)3.2具体的模型设计(Design)3.3 整体算法 4.实验效果4.1 Synthetic(CelebA-Test)4.2 Real World (LFW, WebPhoto, and WIDER) 0.前言 这篇文章是被 …...
[新能源]新能源汽车快充与慢充说明
接口示意图 慢充接口为交流充电口(七孔),快充接口为直流充电口(九孔)。 引脚说明 上图给的是充电口的引脚图,充电枪的为镜像的。 慢充接口引脚说明 快充接口引脚说明 充电流程 慢充示意图 慢充&…...
AI智能分析网关V4将HTTP消息推送至安防监控视频汇聚EasyCVR平台的操作步骤
TSINGSEE青犀视频智能分析网关V4内置了近40种AI算法模型,支持对接入的视频图像进行人、车、物、行为等实时检测分析,上报识别结果,并能进行语音告警播放。硬件管理平台支持RTSP、GB28181协议、以及厂家私有协议接入,可兼容市面上常…...
程序代码篇---STM32串口通信
文章目录 前言1. 头文件和全局变量2. 串口1初始化函数3. 串口1发送字节函数4. 串口1发送字符串函数5. 串口1发送数字函数6. 重定义fputc函数7. 串口数据解析函数8. 串口2中断服务程序总结 前言 本次将介绍一个基于STM32微控制器的串口通信实现,包含了串口的初始化、…...
PECL(Positive Emitter-Coupled Logic)电平详解
一、PECL电平的定义与核心特性 PECL(正射极耦合逻辑)是一种基于 射极耦合逻辑(ECL)技术 的高速差分信号标准,采用 正电源供电(如5V或3.3V)。其核心特性包括 高速传输、低噪声、强抗干扰能力&am…...
1、操作系统引论
一、操作系统 会使用linux系统 建议大家先学会linux的基础指令,可以看菜鸟教程网站进行学习。 1、各种定义 操作系统定义 管理计算机的 硬件 和软件资源, 能对各类作业进行调度,方便用户使用计算机的程序集合。操作系统运行在内核态…...
L1-7 统一命名规范(java)
你所在的公司刚刚招收了几位程序员,然而这些程序员之前在不同的公司工作,所以他们习惯的变量命名规范可能存在差异,需要让他们都习惯公司要求的命名规范,然而这样可能会降低他们的工作效率。 你的上司找到了你,希望你…...
LVS + Keepalived 高可用集群
一、LVSKeepalived 原理 1.1.LVS 负载均衡原理 LVS(Linux Virtual Server)是一种基于 Linux 内核的负载均衡技术,它通过 IPVS(IP Virtual Server)模块来实现。LVS 可以将客户端的请求分发到多个后端服务器上…...
使用MySQL的Binlog来同步数据到ES当中
一、技术选型与核心原理 核心组件 • MySQL Binlog:ROW模式记录数据变更事件(INSERT/UPDATE/DELETE),提供原子性变更流 • Canal/OpenReplicator:伪装MySQL Slave订阅Binlog(本文以Canal 1.1.6为例…...
沐数科技数据开发岗笔试题2025
描述性统计 标准差 答案: A 解析: 标准差 衡量数据集中数值变化或离散程度的一种度量。它反映了数据集中的各个数值与数据集的平均值(均值)之间的偏离程度。标准差越大,表明数据的分布越分散;标准差越小,表明数据…...
什么是 HTML?
HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言: HyperText Markup LanguageHTML 不是一种编程语言,而是一种标记语言标记语言是一套标记标签 (markup tag)HTML 使用标记标签来描述网页HTML 文档包含了HTML 标签及文本内容HTML文档也叫做 web 页面 HT…...
coding ability 展开第四幕(滑动指针——巩固篇)超详细!!!!
文章目录 前言水果成篮思路 找到字符串中所有字母异位词思路 串联所有单词的子串思路 最小覆盖子串思路 总结 前言 本专栏上一篇博客,带着大家从认识滑动窗口到慢慢熟悉 相信大家对滑动窗口已经有了大概的认识 其实主要就是抓住——一段连续的区间 今天来学习一些滑…...
【Linux我做主】基础命令完全指南上篇
Linux基础命令完全指南【上篇】 Linux基础命令完全指南github地址前言命令行操作的引入Linux文件系统树形结构的根文件系统绝对路径和相对路径适用场景Linux目录下的隐藏文件 基本指令目录和文件相关1. ls2. cd和pwdcdpwd 3. touch4. mkdir5. cp6. mv移动目录时覆盖写入的两种特…...
101.在 Vue 3 + OpenLayers 使用 declutter 避免文字标签重叠
1. 前言 在使用 OpenLayers 进行地图开发时,我们经常需要在地图上添加点、线、区域等图形,并给它们附加文字标签。但当地图上的标注较多时,文字标签可能会发生重叠,导致用户无法清晰地查看地图信息。 幸运的是,OpenL…...
面试vue2开发时怎么加载编译速度(webpack)
可以输入命令获取默认 webpack 设置 vue inspect > set.js 1.使用缓存 configureWebpack: {cache: {type: filesystem, // 使用文件系统缓存类型buildDependencies: {config: [__filename] // 缓存依赖,例如webpack配置文件路径}}}, 2.启用 vue-loader (测试明…...
大模型推理后JSON数据后处理
大模型推理后JSON数据后处理 flyfish LLM 通常指的是 Large Language Model,也就是大语言模型,针对 JSON格式的输出,可以在大模型推理前、推理中、推理后进行处理,这里是在推理后进行处理。 针对模型输出结果,可采用结…...
面试总结:2024前端面试题
前几天写了一篇对面试官的吐槽,今天来总结一下最近面试的一些题目。题目不分具体公司了,毕竟题目的重复率不会特别高,就多做准备吧。 技术面还是离不开“八股文”,个人不喜欢也没办法,硬着头皮上,下面分几个…...
剑指 Offer II 083. 没有重复元素集合的全排列
comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20083.%20%E6%B2%A1%E6%9C%89%E9%87%8D%E5%A4%8D%E5%85%83%E7%B4%A0%E9%9B%86%E5%90%88%E7%9A%84%E5%85%A8%E6%8E%92%E5%88%97/README.md 剑指 Offer II 083. 没…...
SFT数据处理部分的思考
SFT数据及处理的业内共识 1.prompt的质量和多样性远重要于数据量级,微调一个 30 b 量级的base model只需要 10 w 量级的数据即可 参考:《LIMA:Less Is More for Alignment》 2.合成数据很重要!一般需要通过…...
c++三级(枚举问题)
菲波那契数列(2) 题目描述 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。 输入格式 第1行是测试数据的组数n,后面跟着n行…...
vb编程有哪些相关的IDE开发工具vb.net,Basic语言?
在编程领域,VB 系列拥有丰富多样的 IDE 开发工具,为不同需求的开发者提供了广泛的选择,以下为你详细介绍: 兼容 VB6 源码的开发工具 twinbasic:属于 VB7 系列,它几乎能 100% 兼容 VB6 源码,这…...
XSS跨站脚本攻击
1、什么是XSS攻击 XSS全称(Cross Site Scripting)跨站脚本攻击,为了避免与css层叠样式表名称冲突,所以改为xss,是最常见的web应用程序安全漏洞之一。它指的是恶意攻击者往web页面里插入恶意html代码(JavaS…...
Uniapp 开发 App 端上架用户隐私协议实现指南
文章目录 引言一、为什么需要用户隐私协议?二、Uniapp 中实现用户隐私协议的步骤2.1 编写隐私协议内容2.2 在 Uniapp 中集成隐私协议2.3 DCloud数据采集说明2.4 配置方式3.1 Apple App Store3.2 Google Play Store 四、常见问题与解决方案4.1 隐私协议内容不完整4.2…...
mapbox高阶,结合threejs(threebox)添加extrusion挤出几何体,并添加侧面窗户贴图和楼顶贴图
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️threebox extrusion挤出几何体二、🍀…...
【Pycharm】Pycharm无法复制粘贴,提示系统剪贴板不可用
我也没有用vim的插件,检查了本地和ubutnu上都没有。区别是我是远程到ubutnu的pycharm,我本地直接控制windowes的pycharm是没问题的。现象是可以从外部复制到pycharm反之则不行。 ctl c ctlv 以及右键 都不行 参考:Pycharm无法复制粘贴&…...
Java泛型程序设计使用方法
Java泛型程序设计是Java语言中一项强大的特性,它允许你编写更加通用和类型安全的代码。以下是Java泛型程序设计的使用方法和技巧: 1. 基本概念 泛型类:可以定义一个类,其中的某些类型是参数化的。 public class Box<T> {pr…...
【STM32】USART串口收发HEX数据包收发文本数据包
有关串口知识参考:【STM32】USART串口协议&串口外设-学习笔记-CSDN博客 HEX模式/十六进制模式/二进制模式:以原始数据的形式显示文本模式/字符模式:以原始数据编码后的形式显示 参考上面文章查看ASCII编码表 HEX数据包 包头包尾和…...
Keil5下载教程及安装教程(附安装包)
文章目录 前言一、Keil5下载教程二、Keil5安装教程三、Keil5授权教程 前言 本教程详细的介绍了Keil5下载教程及安装教程,就像搭积木一样简单易懂,让你轻松迈出开发的第一步。 一、Keil5下载教程 相比旧版本,Keil MDK v5.40 有显著升级。新增…...
快速上手网络通信 -- Qt Network应用开发
概述 在现代应用程序开发中,网络通信是不可或缺的一部分,无论是客户端与服务器之间的数据交换,还是设备间的通信,都需要一个高效且可靠的网络库。Qt提供了强大的QT Network模块,支持多种网络协议和操作,如HTTP、FTP、TCP/IP等,本文将详细介绍如何使用Qt Network模块进行…...
Linux-进程概念
本节学习重点: • 认识冯诺依曼系统 • 操作系统概念与定位 • 深⼊理解进程概念,了解PCB • 学习进程状态,学会创建进程,掌握僵⼫进程和孤⼉进程,及其形成原因和危害 • 了解进程调度,Linux进程优先级&am…...
【LeetCode】622、设计循环队列
【LeetCode】622、设计循环队列 文章目录 一、数组实现循环队列1.1 队列 二、多语言解法 一、数组实现循环队列 1.1 队列 注意:题目要求了 Front() 和 Rear(),当 IsEmpty() 时返回 -1 // go type MyCircularQueue struct {l intr intlen intcap intar…...
基于python+django+vue.js开发的医院门诊管理系统/医疗管理系统源码+运行
功能介绍 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。源码 功能包括:医生管理、科室管理、护士管理、住院管理、药品管理、用户管理、日志管理、系统信息模块。 源码地址 https://github.com/geee…...
2023南京理工大学计算机复试上机真题
2023南京理工大学计算机复试上机真题 2023南京理工大学计算机复试机试真题 历年南京理工大学计算机复试上机真题 在线评测:传送门:pgcode.cn 括号匹配二 题目描述 苗苗今天刚刚学会使用括号,不过他分不清小括号,中括号&#…...
开发、科研、日常办公工具汇总(自用,持续更新)
主要记录汇总一下自己平常会用到的网站工具,方便查阅。 update:2025/2/11(开发网站补一下) update:2025/2/21(补充一些AI工具,刚好在做AI视频相关工作) update:2025/3/7&…...
python3GUI--模仿安卓桌面 By:PyQt5(附下载地址)
文章目录 一.前言二.展示1.主界面2.设置页面3.更换了壁纸且切换桌面页面 三.项目分享1.项目代码结构2.组件代码分享 四.总结 文件大小25.5M,欢迎下载体验!点击下载 一.前言 今天给大家推荐我用…...
STM32CubeIDE 下载与安装教程(以 1.18.0 版本为例)
STM32CubeIDE 下载与安装教程(以 1.18.0 版本为例) 软件介绍 STM32CubeIDE 是 STMicroelectronics 提供的官方集成开发环境(IDE),专为 STM32 微控制器系列设计。它融合了 STM32CubeMX 和 Eclipse 的强大功能…...
酒店宾馆IPTV数字电视系统:创新宾客体验,引领智慧服务新潮流
酒店宾馆IPTV数字电视系统:创新宾客体验,引领智慧服务新潮流 北京海特伟业科技有限公司任洪卓于2025年3月15日发布 随着智慧酒店的不断发展,宾客对于酒店内的娱乐和信息服务需求日益多样化,传统的电视服务已难以满足现代宾客的高…...
蓝桥杯刷题——第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
一、0握手问题 - 蓝桥云课 算法代码: #include <iostream> using namespace std; int main() {int sum0;for(int i49;i>7;i--)sumi;cout<<sum<<endl;return 0; } 直接暴力,题意很清晰,累加即可。 二、0小球反弹 - 蓝…...
MobileNet家族:从v1到v4的架构演进与发展历程
MobileNet 是一个专为移动设备和嵌入式系统设计的轻量化卷积神经网络(CNN)家族,旨在在资源受限的环境中实现高效的图像分类、对象检测和语义分割等任务。自 2017 年首次推出以来,MobileNet 经历了从 v1 到 v4 的多次迭代ÿ…...