理解查全率(precision)与查准率(recall)
理解查全率与查准率
- 1. 概念解读
- 2. F1F_1F1度量
- 3. FβF_\betaFβ度量
1. 概念解读
在一个二分类问题中,非对既是错
真实情况\预测情况 | positive | negative |
---|---|---|
True | TP | TN |
False | FP | FN |
Notice: 上面的图表是个反例,错误的原因是T\F的使用,T代表着预测正确,F代表着预测错误。
真实情况\预测情况 | positive | negative |
---|---|---|
True | TP | FN |
False | FP | TN |
- 查全率
precison=TPTP+FN\textrm{precison}=\frac{\mathrm{TP}}{TP+FN}precison=TP+FNTP - 查准率
recall=TPTP+FP\textrm{recall}=\frac{\mathrm{TP}}{TP+FP}recall=TP+FPTP
查准率(Precision)就是你认为是对的样例中,到底有多少真是对的。
查全率(Recall)就是所有对的样例,你找出了多少,或者说你判断对了多少。
tip: 我在刚刚接触到这两个概念的时候总是傻傻分不清楚,这里记录一下我现在的看法。如上图数据,横着看表示数据集的正负分布,正集:TP∪FN\textrm{TP}\cup\textrm{FN}TP∪FN; 负集: FP∪TN\textrm{FP}\cup\textrm{TN}FP∪TN。首先查全率和查准率的分子都是TP\textrm{TP}TP,表示所有猜对的正集,查准率针对的是预测集中认为是对的样例,分母是TP+FPTP+FPTP+FP;查全率针对的是所有正确的样例,分母是TP+FNTP+FNTP+FN。
这里有一个问题: :查准率和查全率是一对矛盾的度量。一般来说查准率高时,查全率往往偏低;反之同理。 可是为什么就不能两个都高呢?
引用西瓜书上面的回答:
若希望将好瓜尽可能多的选出来,则可通过增加选瓜的数量来实现,如果将所有的西瓜都选上,那么所有的好瓜也必然都被选上了,但这样查准率就会较低,通常只有简单的问题,才会使查全率和查准率都很高。
2. F1F_1F1度量
F1F_1F1度量是基于查全率与查准率的调和平均(harmonic mean)。
定义为:
1F1=12(1P+1R)\frac{1}{F_1}=\frac{1}{2}(\frac{1}{P}+\frac{1}{R})F11=21(P1+R1)
F1=2×P×RP+R=2×TP2×TP+FP+FNF_1=\frac{2\times P\times R}{P+R}=\frac{2\times TP}{2\times TP+FP+FN}F1=P+R2×P×R=2×TP+FP+FN2×TP
3. FβF_\betaFβ度量
FβF_\betaFβ是加权调和平均,是F1度量的一般形式。
1Fβ=11+β2(1P+β2R)\frac{1}{F_\beta}=\frac{1}{1+\beta^2}(\frac{1}{P}+\frac{\beta^2}{R})Fβ1=1+β21(P1+Rβ2)
理解查全率(precision)与查准率(recall)相关推荐
- 查准率和查全率(precision and recall)
查准率和查全率(precision and recall) 最近在论文中看到recall,一时想不起来了它的内在含义,如果你也忘了的话,可以一起复习一下. 查准率和查全率(precision and ...
- 查准率-查全率precision recall(PR)曲线Matlab实现
在用哈希进行检索时,常会用到precision recall曲线对其性能进行定量评价.precision recall的定义在信息检索评价指标中已做了详细说明,这里再记录一下precision rec ...
- python垃圾分类准确率计算公式_准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure...
机器学习(ML),自然语言处理(NLP),信息检索(IR)等领域,评估(Evaluation)是一个必要的 工作,而其评价指标往往有如下几点:准确率(Accuracy),精确率(Precision), ...
- 深度学习参数对模型的影响:Loss(损失)、方差、Precision(精确度)、Recall(召回率
损失.方差.precision_精确度.recall_召回率对模型的影响 深度学习之Metrics 一. 偏差.方差.精确率.召回率 四个概念 二.一个好的模型对这几个指标有什么样的要求? 三. 基于 ...
- classification_report进阶:针对top-k的结果计算precision@k、recall@k、f1-score@k
sklearn自带的classification_report方法可以针对二分类或多分类问题,计算分类器的precision.recall和f1-score. 示例: from sklearn.met ...
- python计算precision@k、recall@k和f1_score@k
sklearn.metrics中的评估函数只能对同一样本的单个预测结果进行评估,如下所示: from sklearn.metrics import classification_reporty_tru ...
- 机器学习-Precision(查准率)、Recall(查全率)、P-R曲线
目录 前言 一.查准率P.查全率R与P-R曲线 二.Python实现 总结 前言 我们经常会关心"检索出的信息中有多少比例是用户感兴趣的""用户感兴趣的信息中有多少被检索 ...
- 清晰理解precision(精确度)和recall(召回度)
1.TP TN FP FN的概念 TP TN FP FN里面一共出现了4个字母,分别是T F P N. TP(True Positives)意思就是被分为了正样本,而且分对了. TN(True Neg ...
- 【机器学习】准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure
在机器学习.数据挖掘.推荐系统完成建模之后,需要对模型的效果做评价. 业内目前常常采用的评价指标有准确率(Precision).召回率(Recall).F值(F-Measure)等,下图是不同机器学习 ...
最新文章
- 线上订单号重复了?一招搞定它!
- [转]PHP: 深入pack/unpack
- swift_010(Swift 的可选类型)
- 计算机系统结构广义定义,《计算机系统结构》电子教案(清华版).ppt.ppt
- php foreach 循环 判断index 小于多少_PHP设计模式之迭代器模式 - 硬核项目经理
- python(numpy,pandas11)——pandas merge根据索引合并数据
- win10安装jdk1.8并配置环境变量_win10系统安装jdk13.02的环境变量配置
- REST和RESTful有什么区别
- Linq转换操作之OfType,Cast,AsEnumerable,ToLookup源码分析
- JAVA实用教程(第2版)配套源码笔记
- 论文句子转换软件v.1.2.3
- 当前日期或 *(星号)显示在 think-cell 标签中
- vue将文件图片批量打包下载zip
- Android - scheme 一个app跳转另一个app、模块开发
- Python(十三)IO编程
- 耳朵大寿命长 由耳可辨疾病
- MySQL数据库学习·数据库的创建,修改,删除
- 计算机流水线重要知识,计算机组成与体系结构——流水线相关知识点(常考计算)...
- 前额出现痘斑是肝脏含过多毒素所致(图)
- 会议室LED大屏如何实现无线连接投屏显示?
热门文章
- 《乔布斯传》圈点(末篇)
- comm.PSKModulator函数详解
- 2021-2027全球与中国人体解剖学模型市场现状及未来发展趋势
- Oracle根据中文首字母排序
- C# npoi读execel 未能加载文件或程序集“ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neut al, PublicKeyTok
- 2013年9月25日星期三(demo5_2点法式平面)
- 很久以前看到的很经典的小说
- java 判断zip文件编码_如何使用UTF-8编码打开java程序生成的zip文件
- ESM测向误差对定位误差的影响分析
- 5.15 vs2019 静态编译_Go Web 开发如何优雅的包含静态资源文件?