贝叶斯的准确率召回率曲线和召回率都一样吗结果

召回率与准确率(Precision&and&Recall)
外行人做互联网,很多概念不懂。就拿最基础的“召回率”和“准确率”这种概念,看看网上资料知道大概,自己用的时候,脑子里绕着弯儿能想明白,可碰到别人活用的时候,脑子里还是没法一下子反应过来,还是要绕弯想一下。特地找了些资料,将这两个概念整理一下,希望能更熟练。
召回率和准确率是搜索引擎(或其它检索系统)的设计中很重要的两个概念和指标。
召回率:Recall,又称“查全率”;
准确率:Precision,又称“精度”、“正确率”。
在一个大规模数据集合中检索文档时,可把集合中的所有文档分成四类:
& & & & &相关 不相关
检索到 & & A & &B
未检索到 & C & &D
A:检索到的,相关的 (搜到的也想要的)
B:检索到的,但是不相关的 (搜到的但没用的)
C:未检索到的,但却是相关的 (没搜到,然而实际上想要的)
D:未检索到的,也不相关的 (没搜到也没用的)
通常我们希望:数据库中相关的文档,被检索到的越多越好,这是追求“查全率”,即A/(A+C),越大越好。
同时我们还希望:检索到的文档中,相关的越多越好,不相关的越少越好,这是追求“准确率”,即A/(A+B),越大越好。
归纳如下:
召回率:检索到的相关文档 比 库中所有的相关文档
准确率:检索到的相关文档 比 所有被检索到的文档
“召回率”与“准确率”虽然没有必然的关系(从上面公式中可以看到),然而在大规模数据集合中,这两个指标却是相互制约的。
由于“检索策略”并不完美,希望更多相关的文档被检索到时,放宽“检索策略”时,往往也会伴随出现一些不相关的结果,从而使准确率受到影响。
而希望去除检索结果中的不相关文档时,务必要将“检索策略”定的更加严格,这样也会使有一些相关的文档不再能被检索到,从而使召回率受到影响。
凡是设计到大规模数据集合的检索和选取,都涉及到“召回率”和“准确率”这两个指标。而由于两个指标相互制约,我们通常也会根据需要为“检索策略”选择一个合适的度,不能太严格也不能太松,寻求在召回率和准确率中间的一个平衡点。这个平衡点由具体需求决定。
其实,准确率(precision,精度)比较好理解。往往难以迅速反应的是“召回率”。我想这与字面意思也有关系,从“召回”的字面意思不能直接看到其意义。
我觉得“召回率”这个词翻译的不够好。“召回”在中文的意思是:把xx调回来。比如sony电池有问题,厂家召回。
既然说翻译的不好,我们回头看“召回率”对应的英文“recall”,recall除了有上面说到的“order sth to
return”的意思之外,还有“remember”的意思。
Recall:the ability to remember sth. that you have learned or sth.
that has happened in the past.
这里,recall应该是这个意思,这样就更容易理解“召回率”的意思了。
当我们问检索系统某一件事的所有细节时(输入检索query),Recall就是指:检索系统能“回忆”起那些事的多少细节,通俗来讲就是“回忆的能力”。能回忆起来的细节数
除以 系统知道这件事的所有细节,就是“记忆率”,也就是recall——召回率。
这样想,要容易的多了。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。如何解释召回率与准确率?
按投票排序
反例你的预测 正例 : A
B你的预测 反例 : C
D准确率就是A/(A+B)
大白话就是“你的预测有多少是对的”召回率就是A/(A+C)
大白话就是“正例里你的预测覆盖了多少”
如果你说的是recall和precision假设一共有10篇文章,里面4篇是你要找的。根据你某个算法,你认为其中有5篇是你要找的,但是实际上在这5篇里面,只有3篇是真正你要找的。那么你的这个算法的precision是3/5=60%,也就是,你找的这5篇,有3篇是真正对的这个算法的recall是3/4=75%,也就是,一共有用的这4篇里面,你找到了其中三篇。请自行归纳总结。
这篇文章讲的挺简单的,很容易理解,链接:准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了。正确率、召回率和 F 值是在鱼龙混杂的环境中,选出目标的重要评价指标。不妨看看这些指标的定义先:
1. 正确率 = 提取出的正确信息条数 /
提取出的信息条数
2. 召回率 = 提取出的正确信息条数 /
样本中的信息条数
两者取值在0和1之间,数值越接近1,查准率或查全率就越高。
= 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)不妨举:某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:正确率 = 700 / (700 + 200 + 100) = 70%召回率 = 700 / 1400 = 50%F值 = 70% * 50% * 2 / (70% + 50%) = 58.3%不妨看看如果把池子里的所有的鲤鱼、虾和鳖都一网打尽,这些指标又有何变化:正确率 = 1400 / (1400 + 300 + 300) = 70%召回率 = 1400 / 1400 = 100%F值 = 70% * 100% * 2 / (70% + 100%) = 82.35%
由此可见,正确率是评估捕获的成果中目标成果所占得比例;召回率,顾名思义,就是从关注领域中,召回目标类别的比例;而F值,则是综合这二者指标的评估指标,用于综合反映整体的指标。当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高。如果是做实验研究,可以绘制Precision-Recall曲线来帮助分析。
刚开始接触这两个概念的时候总搞混,时间一长就记不清了。实际上非常简单,准确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是对的。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),也就是而召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TN),另一种就是把原来的正类预测为负类(FN)。
周末在家回忆一周的工作内容,一共想起来5件事情,但实际只有4件是我这周做的,另1件其实是我之前完成的,那记忆的准确率为4/5=80%。后来翻了翻笔记本,发现这周我其实做了6件事,我只正确的记住了4件,那大脑的召回率为4/6 = 66.7%。召回率:Recall,又称“查全率”;准确率:Precision,又称“精度”、“正确率”。在一个大规模数据集合中检索文档时,可把集合中的所有文档分成四类:(一个2×2的矩阵)
不相关检索到
D准确率:检索到的相关文档 比 所有被检索到的文档召回率:检索到的相关文档 比 库中所有的相关文档
你对你的前任回忆起来的有多少是对的就是准确率precison,当然你还有没回忆(recall)起来的。回忆起来的占总体回忆的比例就是召回率recall。中文翻译略坑。
理解清楚这两个名词前需要先明确自己的期望是什么。比如一个预测系统,当预测值超过一定范围那么需要报警,这里我们希望得到的是预测报警的情况也确实是应该报警的。有了这个前提,就可以得出如下矩阵:
【确实应该报警】
| 【确实不应该报警】【预测应该报警】
TP(正确预测)
FP(报假警)【预测不应该报警】
FN(该报而没报)
TN(正确预测)这样:准确率(precision) =
TP(正确预测) /(TP+FP),也就是你误报的多不多召回率(recall) = TP(正确预测) /(TP+FN),也就是你该报而没报的多不多
已有帐号?
社交帐号登录
无法登录?
社交帐号登录君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于改进贝叶斯的时效性实体词挖掘
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口文本分类之情感分析– 准确率和召回率
文本分类之情感分析– 准确率和召回率
[摘要:Accuracy没有是评价分类器的有用性的独一器量。别的两个有效的目标是precision战recall。那两个器量可供应两元分类器的机能特点的更多视角。 分类器的 Precision Precision器量一个分类器的正]
Accuracy不是评估分类器的有效性的唯一度量。另外两个有用的指标是precision和recall。这两个度量可提供二元分类器的性能特征的更多视角。
分类器的 Precision
Precision度量一个分类器的正确性。较高的精确度意味着更少的误报,而较低精度意味着更多的误报。这经常与recall相反,作为一种简单的方法来提高精度,以减少召回。
分类器的 Recall
召回度量分类器的完整性,或灵敏度。较高的召回意味着更少的假负,而较低的召回意味着更多的假负。提高召回率往往可以降低精确度,因为随着样本空间增大,precision增加变得越来越难达到。
F-measure Metric
准确率和召回可以组合产生一个单一的值称为F值,这是精确度和召回率的加权调和平均数。我发现F值大约和accuracy一样有用。或者换句话说,相对于精度和召回,F值大多是无用的,正如你将在下面看到的。
朴素贝叶斯分类器的准确率和召回率度量
NLTK度量模块提供的功能可以计算上述三个指标。但要做到这一点,你需要建立2套各分类标签:一个正确值的引用集,以及一个测试集作为观察值。下面是从以前的文章中,我们训练的朴素贝叶斯分类器代码的修改版本。这一次,不是测量精度,我们将为每个标签(正或负)收集的参考值和观测值,然后使用这些集来计算的朴素贝叶斯分类器的accuracy,precision 和 recall和F值。收集到的实际值是简单地使用枚举每个功能集的索引。
import collections import nltk.metrics from nltk.classify import NaiveBayesClassifier from nltk.corpus import movie_reviews
def word_feats(words):
return dict([(word, True) for word in words])
negids = movie_reviews.fileids('neg') posids = movie_reviews.fileids('pos')
negfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'neg') for f in negids] posfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'pos') for f in posids]
negcutoff = len(negfeats)*3/4 poscutoff = len(posfeats)*3/4
trainfeats = negfeats[:negcutoff] + posfeats[:poscutoff] testfeats = negfeats[negcutoff:] + posfeats[poscutoff:] print 'train on %d instances, test on %d instances' % (len(trainfeats), len(testfeats))
classifier = NaiveBayesClassifier.train(trainfeats) refsets = collections.defaultdict(set) testsets = collections.defaultdict(set)
for i, (feats, label) in enumerate(testfeats):
refsets[label].add(i)
observed = classifier.classify(feats)
testsets[observed].add(i)
print 'pos precision:', nltk.metrics.precision(refsets['pos'], testsets['pos']) print 'pos recall:', nltk.metrics.recall(refsets['pos'], testsets['pos']) print 'pos F-measure:', nltk.metrics.f_measure(refsets['pos'], testsets['pos']) print 'neg precision:', nltk.metrics.precision(refsets['neg'], testsets['neg']) print 'neg recall:', nltk.metrics.recall(refsets['neg'], testsets['neg']) print 'neg F-measure:', nltk.metrics.f_measure(refsets['neg'], testsets['neg'])
正、负评论的准确率和召回率
我发现结果相当有趣:
pos precision: 0. pos recall: 0.98 pos F-measure: 0. neg precision: 0. neg recall: 0.476 neg F-measure: 0.
那么,这是什么意思呢?
几乎每一个是pos的文件被正确识别有98%的召回率。这意味着在POS类中极少数假负。
但是,给定一个POS分类的文件只有65%可能是正确的。不太好精确度将导致pos类有35%的假阳性。
&标识为负任何文件是96%可能是正确的(高精度)。这意味着负类极少误报。&
但是,许多负的文件被错误分类。低召回原因为负标号52%的假阴性。&
F值未提供任何有用的信息。拥有它并没有带来洞察力,如果没有它,我们将失去所有知识。(F-measure provides no useful information. There’s no insight to be gained from having it, and we wouldn’t lose any knowledge if it was taken away.)
用更好的特征选择来改善结果
对于上述结果一个可能的解释是,人们通常使用在负面评论中使用正面的评价词,但这个词前面有“不”(或其他一些负面的字),如“不是很大”。此外,由于分类器使用词袋模型,它假定每个字都是独立的,它不能得知“不是很大”是一种负面的。如果是这样的话,如果我们还要在多个词上训练的话,那么这些指标应该改善,我将在以后的文章探讨下一个话题。
另一种可能性是丰富的自然中性词,那种话是毫无情绪的。但分类器对待所有词是相同的,并且必须向每个字分配要么正要么负。因此,也许另有中性或无意义的词都被放置在POS类,因为分类不知道自己还能做些什么。如果是这样的话,如果我们消除了特征集中中性或无意义的词,只使用情感丰富的词进行分类的话,那么指标应该改善。这通常是利用信息增益,又名互信息的概念,以改善特征选择,这也是我在以后的文章将探讨的。
如果你有自己的理论来解释结果,或关于如何提高准确率和召回的想法,请分享在评论中。
原文://text-classification-sentiment-analysis-precision-recall/
感谢关注 Ithao123精品文库频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊1248人阅读
CV相关(279)
声明,本文非笔者原创,原文转载自:http://blog.csdn.net/t710smgtwoshima/article/details/8215037
Recall(召回率);Precision(准确率);F1-Meature(综合评价指标);
&&& 在信息检索(如搜索引擎)、自然语言处理和检测分类中经常会使用这些参数,介于语言翻译上的原因理解难免出现误差,下面介绍下自己对他们的理解。
首先来个定义:
Precision:被检测出来的信息当中 正确的或者相关的(也就是你想要的)信息中所占的比例;
Recall:所有正确的信息或者相关的信息(wanted)被检测出来的比例。
F1-Meature后面定义。
查了资料都习惯使用四格图来解释,来个易懂的四格图:
正确的、相关的(wanted)
不正确的、不相关的
检测出来的
true& positives (纳真tp)
false& positives(纳伪fp)
未检测出来的
false& negatives(去真fn)
true& negatives& (去伪tn)
表格中的翻译比较重要,可以帮助理解。
true positives (纳真)&&& false positives(纳伪)
false negatives(去真)true negatives& (去伪)
其中false positives(纳伪)也通常称作误报,false negatives也通常称作漏报!
Precision =&& tp/(tp + fp);
Recall = tp / (tp + fn).
同样还有另外两个定义
然而在实际当中我们当然希望检索的结果P越高越好,R也越高越好;事实上这两者在某些情况下是矛盾的。比如,我们只搜出了一个结果,且是准确的,那么P就是100%,但是R就很低;而如果我们把所有结果都返回,那么必然R是100%,但是P很低。因此在不同的场合中需要自己判断希望P比较高还是R比较高。如果是做实验,可以绘制Precision-Recall曲线来帮助分析。
F-Measure是Precision和Recall加权调和平均:
当参数a=1时,就是最常见的F1了:
很容易理解,F1综合了P和R的结果,当F1较高时则比较说明实验方法比较理想。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1875244次
积分:19387
积分:19387
排名:第244名
原创:174篇
转载:145篇
评论:1110条
(3)(1)(1)(2)(1)(1)(5)(3)(3)(5)(6)(3)(7)(8)(8)(7)(9)(11)(10)(7)(4)(10)(1)(8)(14)(12)(7)(1)(12)(6)(5)(16)(8)(5)(5)(5)(8)(2)(4)(4)(4)(5)(4)(4)(5)(5)(5)(2)(4)(1)(5)(6)(11)(10)(4)(6)(3)(1)

我要回帖

更多关于 召回率和准确率 的文章

 

随机推荐