首页 > 其他分享 >F1 score 与 平均精度 mAP

F1 score 与 平均精度 mAP

时间:2024-01-14 14:00:20浏览次数:35  
标签:F1 mAP recall precision score 阳性

F1 score 与 平均精度 mAP 可以衡量分类模型的性能。

首先先看精确率与召回率的概念。

精确率与召回率

对于某方概率极低的逻辑回归(例如某种罕见病症的确诊),单纯的准度(是否能正确判断病人是否得病)并不足够。毕竟,若算法只会给出 negative 的判断也能拥有高准度。

真阳性(TP),假阳性(FP),真阴性(TN),假阴性(FN)。

精确率(precision),等于 正确预测的阳性(TP)/所有预测到的阳性(TP+FP),体现了模型对负样本的区分能力。精确率越高,说明模型对于预测为正类别的样本更加谨慎,很少将负类别的样本错误地预测为正类别。

召回率(recall),等于 正确预测的阳性(TP)/样本中所有真实的阳性(TP+FN),体现了模型对正样本的识别能力。召回率越高,说明模型对于实际为正类别的样本更加敏感,成功捕捉了更多正类别的样本。

精确率更应该叫做 “查准率”,指阳性预测的准度

召回率更应该叫做 “查全率”,指正确阳性预测的覆盖程度

F1 score

F1 score 是精确率和召回率的一个加权平均。

\[F_1=\frac{2\times \text{precision} \times \text{recall}}{\text{precision}+\text{recall}} \]

F1 score 越接近 1,模型性能越理想(同时达到最大的 Precision 和 Recall)。

平均精度 mAP

平均精度(Average Precision,mAP),用于综合考虑模型在不同类别上的准确度和召回率。

对于分类问题,模型使用不同的 threshold 会得到不同的 precision 和 recall,画在 precision-recall 图表中可以得到一个曲线。最理想的情况下,这个曲线与 x y 轴会形成一个正方形,面积为 1。mAP 通过以下算式计算这个曲线与 x y 轴形成的面积:

\[\text{AP}=\sum_n(R_n-R_{n-1})P_n \]

  • \(n\) 代表选择的第 \(n\) 个 threshold
  • \(R_n\) 代表第 \(n\) 个 threshold 下的 recall
  • \(P_n\) 代表第 \(n\) 个 threshold 下的 precision

其值越大(越接近 1),模型综合性能越好。

参考来源

标签:F1,mAP,recall,precision,score,阳性
From: https://www.cnblogs.com/chirp/p/17963647

相关文章

  • 【树上启发式合并】CF1709E XOR Tree
    XORTree\(\mathtt{TAGS}\):树上启发式合并+异或+贪心\(\mathtt{ESTIMATION}\):非常好的启发式合并题目First.如何去除\(0\)路径对于一条路径\(u\tov\),要使其不为\(0\)肯定是将\(\mathtt{LCA}(u,v)\)变为\(2^{30+x}\)最好,这样异或值的第\(30+x\)位一......
  • 模拟 - CF1196C Robot Breakout
    RobotBreakout(CF1196C)思路这道题因为平面极大,暴力枚举每个点肯定会超时。所以,我们不妨从机器人出发。我们可以枚举每个机器人可以执行的操作:位置从\((X_i,Y_i)\)变为\((X_i-1,Y_i)\),即向左走。位置从\((X_i,Y_i)\)变为\((X_i,Y_i+1)\),即向上走。位置从\((X_......
  • CF1016D Vasya And The Matrix Solution
    题目传送门做法因为是异或运算,可以按位考虑。先预处理出行(\(a[i]\))异或和\(suma\),与列(\(b[i]\))的异或和\(sumb\)。如果\(suma\nesumb\),那就说明无解,因为\(suma\)和\(sumb\)最后都代表着整个矩阵的异或和,如果两者不相等,那就说明矛盾,无解。否则就一定......
  • CF1201C - Maximum Median
    思路二分答案。对于一个mid,查询中位数要是为mid的话至少要做多少次操作,最小操作次数就是排序后从中位数开始计算max(0,mid-v[i])的和ac代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;consti64inf=8e18;typedefpair<int,int>pii;cons......
  • Go 语言为什么不支持并发读写 map?
    大家好,我是frank,「Golang语言开发栈」公众号作者。01介绍在Go语言项目开发中,我们经常会使用哈希表map,它的时间复杂度是O(1),Go语言中的map使用开放寻址法避免哈希碰撞。Go语言中的map并非原子操作,不支持并发读写操作。Go官方认为map在大多数情况下是使用map......
  • python中的Map和Filter
    map会将⼀个函数映射到⼀个输入列表的所有元素上。这是它的规范:规范map(function_to_apply,list_of_inputs)大多数时候,我们要把列表中所有元素⼀个个地传递给⼀个函数,并收集输出。比方说:items=[1, 2, 3, 4, 5]squared =[]for iinitems:squared.append(i**2)Ma......
  • CF1876D Lexichromatography
    CF1876DLexichromatographyLuoguCF1876D题目描述给定一个长为\(n\)的序列\(a\),你需要对这个序列进行红蓝染色。染色有如下要求:每个位置恰好染上其中一种颜色。对于所有的值\(k\),在这个序列的任意子区间\([l,r]\)中,值为\(k\)且为红色的位置数减去值为\(k\)且为......
  • Secret,ConfigMap
    Secret是Kubernetes提供的一种用于存储敏感信息的机制。在应用程序中,我们常常需要存储一些敏感信息,例如数据库的用户名和密码、API密钥等。使用Secret可以将这些敏感信息存储在Kubernetes集群中,并在需要的时候安全地将它们传递给应用程序。在Kubernetes中,Secret是一种......
  • AT_cf17_final_j 题解
    题意给定一棵既有点权也有边权的树,构造一个完全图,图中两点间边的边权为树中两点点权之和加上两点间的距离,求该图的最小生成树。思路发现完全图总边数太大,考虑减少边数。这里有一个性质:如果在一个图中选取任意个联通的边集,使得它们的并为全集,则整个图的最小生成树中的边一定在......
  • Binder系列-5-binder_mmap—1—mmap()分析
    一、manmmap1.函数声明#include<sys/mman.h>void*mmap(void*addr,size_tlength,intprot,intflags,intfd,off_toffset);intmunmap(void*addr,size_tlength);intmsync(void*addr,size_tlength,intflags)作用:将文件或设备向内存中进行映射或取消映......