【问题标题】:Understanding Recall and Precision了解召回率和精度
【发布时间】:2014-02-20 04:53:33
【问题描述】:

我目前正在学习信息检索,但我对召回率和精度的例子感到困惑

搜索者使用搜索引擎来查找信息。结果的第一个屏幕上有 10 个文档,第二个屏幕上有 10 个文档。

假设在搜索引擎索引中已知有 10 个相关文档。

Soo...总共有 20 个搜索,其中 10 个是相关的。

谁能帮我理解这一点?

谢谢

【问题讨论】:

  • 您的搜索引擎中似乎有一半的点击不相关?有点遗憾的是“已知有 10 个相关文档”和“每页 10 个结果”。这不是同一个数字(即使两者都是“10”)。你想了解什么?

标签: search-engine information-retrieval precision-recall


【解决方案1】:

召回和精确测量结果的质量。为了理解它们,让我们首先定义结果的类型。返回列表中的文档可以是

  • 分类正确

    • 真正的肯定 (TP):相关的(肯定的)文档确实返回了 (true)
    • 真正的否定 (TN):不相关的文档 (否定) 确实没有返回 (true)
  • 分类错误

    • 误报 (FP):不相关但返回为正的文档
    • 假阴性 (FN):相关但未返回阴性的文档

那么精度是:

|TP| / (|TP| + |FP|)

即检索到的文档中确实相关的部分

那么召回是:

|TP| / (|TP| + |FN|)

即结果集中相关文档的比例

因此,在您的示例中,20 个结果中有 10 个是相关的。这为您提供了 0.5 的精度。如果相关文件不超过这 10 个,则召回 1 个。

(在测量信息检索系统的性能时,只考虑精度和召回率才有意义。您可以通过不返回任何结果轻松获得 100% 的精度(即没有虚假返回实例 => 没有 FP)或者通过返回每个实例来召回 100%(即没有遗漏相关文档 => 没有 FN)。)

【讨论】:

    【解决方案2】:

    嗯,这是我对 recall 的回答的延伸:https://stackoverflow.com/a/63120204/6907424。首先在这里阅读有关精度的信息,然后再阅读召回。这里我只是用同样的例子来解释Precision

    ExampleNo        Ground-truth        Model's Prediction
       0                 Cat                   Cat
       1                 Cat                   Dog
       2                 Cat                   Cat
       3                 Dog                   Cat
       4                 Dog                   Dog
    

    现在我正在计算 Cat 的精度。所以 Cat 是我们的 Positive Class,其余的类(这里只有 Dog)是 Negative Classes精确度表示阳性检测的百分比实际上是阳性。所以这里对于 Cat 有 3 个模型检测。但它们都是正确的吗? 否! 其中只有 2 个是正确的(在示例 0 和 2 中),另一个是错误的(在示例 3 中)。所以正确检测的百分比是2 out of 3 which is (2 / 3) * 100 = 66.67%

    现在进入公式,这里:

    TP(真阳性):在实际为阳性时预测阳性。如果猫是我们的正面例子,那么当它实际上是一只猫时,预测它是一只猫。

    FP(误报):预测某事是肯定的,但实际上不是肯定的,即“错误地”说肯定的。

    现在某个类的正确检测数就是该类的TP数。但除此之外,该模型还预测了一些其他示例为正例,但实际上并不是正例,因此这些是误报 (FP)。因此,无论正确与否,模型检测到的正类总数为TP + FP。因此,在该类的所有检测中,正确检测到正类的百分比将为:TP / (TP + FP),即该类检测的precision

    就像回忆一样,我们也可以将这个公式推广到任意数量的类。一次只取一个类,将其视为正类,将其余类视为负类,然后对所有类继续相同的过程,以计算每个类的精度。

    您可以用另一种方式计算准确率和召回率(基本上是考虑相同公式的另一种方式)。以 Cat 为例,首先在 both Ground-truth 和 Model 的预测(即计算 TP 的数量)中同时计算有多少个示例有 Cat。因此,如果您要计算 精确度,则将此计数除以 模型预测 中“猫”的数量。否则 recall 除以 Ground-truth 中“Cat”的数量。这与精度和召回率的公式相同。如果你不明白为什么,那么你应该想一想,看看TPFPTNFN 的实际含义。

    【讨论】:

    • 我读过的关于 Precision 的最佳答案!
    【解决方案3】:

    如果您难以理解准确率和召回率,请考虑阅读本文

    https://medium.com/seek-product-management/8-out-of-10-brown-cats-6e39a22b65dc

    【讨论】:

    • 请从链接中发布一些内容。
    猜你喜欢
    • 2023-04-07
    • 2012-11-26
    • 1970-01-01
    • 2018-02-18
    • 2011-11-01
    • 2018-08-16
    • 2011-08-18
    • 1970-01-01
    • 2021-09-13
    相关资源
    最近更新 更多