准确率和召回率相等,准确率、精确率、召回率?


准确率和召回率相等,准确率、精确率、召回率?

文章插图
本篇文章给大家谈谈准确率和召回率,以及准确率和召回率相等对应的知识点 , 希望对各位有所帮助 , 不要忘了收藏本站!
内容导航:
  • 如何解释召回率与准确率
  • 如何动态调整准确率与召回率?
  • 如何解释召回率与准确率
  • 什么是准确率和召回率
  • 准确率、精确率、召回率
  • 一图看懂召回率和准确率
Q1:如何解释召回率与准确率准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值 , 用来评价结果的质量 。其中精度是检索出相关文档数与检索出的文档总数的比率 , 衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率 , 衡量的是检索系统的查全率 。
一般来说 , Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的 , Recall就是所有准确的条目有多少被检索出来了 。
正确率、召回率和 F 值是在鱼龙混杂的环境中 , 选出目标的重要评价指标 。不妨看看这些指标的定义先:
1. 正确率 = 提取出的正确信息条数 /提取出的信息条数
2. 召回率 = 提取出的正确信息条数 /样本中的信息条数
两者取值在0和1之间 , 数值越接近1 , 查准率或查全率就越高 。
3. F值= 正确率 * 召回率 * 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曲线来帮助分析 。
Q2:如何动态调整准确率与召回率? 对于准确率与召回率的概念 , 虽然有很多文章介绍了 , 但是很多人还是不容易形成直觉的理解 。这里不谈公式 , 结合一个通俗的例子 , 帮助大家理解 。
例子 :有100个人 , 1人患有癌症 。我们对其进行预测 , 然后再计算每种预测的准确率与召回率 。
【准确率和召回率相等,准确率、精确率、召回率?】 准确率与召回率是相对于 正 样本来说的 , 也就是要先定义什么是正 。我们这里将“有癌症”定义为正 , 那么没有癌症就是负 。
他们还有另一对名字 , 更直观也更容易理解:
在不同的任务中 , 可能对准确率与召回率有不同的要求 。本篇文章要讨论的问题是在模型已经训练完成后 , 如果在不重新训练模型的情况下 , 调整其预测的准确率与召回率 。也就是说 , 将一个模型发布后 , 不同的使用者可以使用同一个模型去完整不同的任务 。
在二分类任务中 , 模型输出一般为0到1之间的一个数值 , 记为 , 如果大于0.5 , 我们预测为正 , 否则为负 。这里的0.5代表一个阈值 , 记为 , 则分类标准如下:
要调整准确率与召回率 , 直接调整s就行了 。增大s , 准确率上升 , 召回率下降;减少s , 准确率下降 , 召回率上升 。


推荐阅读