zoukankan      html  css  js  c++  java
  • 评估指标:准确率(Precision)、召回率(Recall)以及F值(F-Measure)

    为了能够更好的评价IR系统的性能,IR有一套完整的评价体系,通过评价体系可以了解不同信息系统的优劣,不同检索模型的特点,不同因素对信息检索的影响,从而对信息检索进一步优化。

    由于IR的目标是在较短时间内返回较全面和准确的信息,所以信息检索的评价指标通常从三个方面考虑:效率、效果和其他如数据规模。

    下面简单介绍几种常用的信息检索评价指标:

    1、准确率与召回率(Precision & Recall)

           精度召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率

    一般来说,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曲线来帮助分析。

    召回率和准确率是数据挖掘中预测、互联网中的搜索引擎等经常涉及的两个概念和指标。
    召回率:Recall,又称“查全率”——还是查全率好记,也更能体现其实质意义。
    准确率:Precision,又称“精度”、“正确率”。

    以检索为例,可以把搜索情况用下图表示:

     
    相关
    不相关
    检索到
    A
    B
    未检索到
    C
    D



    A:检索到的,相关的                (搜到的也想要的)
    B:检索到的,但是不相关的          (搜到的但没用的)
    C:未检索到的,但却是相关的        (没搜到,然而实际上想要的)
    D:未检索到的,也不相关的          (没搜到也没用的)

    如果我们希望:被检索到的内容越多越好,这是追求“查全率”,即A/(A+C),越大越好。
    如果我们希望:检索到的文档中,真正想要的、也就是相关的越多越好,不相关的越少越好,这是追求“准确率”,即A/(A+B),越大越好。
     
    “召回率”与“准确率”虽然没有必然的关系(从上面公式中可以看到),在实际应用中,是相互制约的。要根据实际需求,找到一个平衡点

    往往难以迅速反应的是“召回率”。我想这与字面意思也有关系,从“召回”的字面意思不能直接看到其意义。“召回”在中文的意思是:把xx调回来。“召回率”对应的英文“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.
    当我们问检索系统某一件事的所有细节时(输入检索query查询词),Recall指:检索系统能“回忆”起那些事的多少细节,通俗来讲就是“回忆的能力”。“能回忆起来的细节数” 除以 “系统知道这件事的所有细节”,就是“记忆率”,也就是recall——召回率。简单的,也可以理解为查全率。

    2、综合评价指标(F-Measure)

    P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。

    F-Measure是Precision和Recall加权调和平均

    当参数α=1时,就是最常见的F1,也即

    可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。

    3、E值

    E值表示查准率P和查全率R的加权平均值,当其中一个为0时,E值为1,其计算公式:

    b越大,表示查准率的权重越大

    4、平均正确率(Average Precision, AP)

    平均正确率表示不同查全率的点上的正确率的平均

    参考:

    评估指标:准确率(Precision)、召回率(Recall)以及F值(F-Measure)

    http://blog.sina.com.cn/s/blog_4b59de070100ehl7.html

  • 相关阅读:
    Azkaban的使用
    Azkaban安装
    Kafka 启动失败,报错Corrupt index found以及org.apache.kafka.common.protocol.types.SchemaException: Error reading field 'version': java.nio.BufferUnderflowException
    Kafka 消费者设置分区策略及原理
    Kafka利用Java API自定义生产者,消费者,拦截器,分区器等组件
    zookeeper群起总是有那么几个节点起不来的问题解决
    flume 启动agent报No appenders could be found for logger的解决
    Flume 的监控方式
    Flume 自定义 组件
    Source r1 has been removed due to an error during configuration java.lang.IllegalArgumentException: Required parameter bind must exist and may not be null & 端口无法连接
  • 原文地址:https://www.cnblogs.com/549294286/p/3621740.html
Copyright © 2011-2022 走看看