f1score多大比较好

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了f1score多大比较好相关的知识,希望对你有一定的参考价值。

参考技术A f1score为1好。F1分数可以看作是模型准确率和召回率的一种加权平均,它的最大值是1,最小值是0,值越大意味着模型越好。F1分数(F1Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的准确率和召回率。

性能评价指标(Precision, Recall, F-score, MAP)

参考技术A 转自: CSDN博客原文

一:Precision, Recall, F-score

信息检索、分类、识别、翻译等领域两个最基本指标是召回率(Recall Rate)和准确率(Precision Rate------注意统计学习方法中precesion称为精确率,而准确率为accuracy 是分类正确的样本除以总样本的个数。),召回率也叫查全率,准确率也叫查准率,概念公式:

            召回率(Recall)=  系统检索到的相关文件 / 系统所有相关的文件总数;;;亦即预测为真实正例除以所有真实正例样本的个数

             准确率(Precision)=  系统检索到的相关文件 / 系统所有检索到的文件总数;;;亦即等于预测为真实正例除以所有被预测为正例样本的个数

注意:(1)准确率和召回率是互相影响的,理想情况下肯定是做到两者都高,但是一般情况下准确率高、召回率就低,召回率低、准确率高,当然如果两者都低,那是什么地方出问题了。

(2)如果是做搜索,那就是保证召回的情况下提升准确率;如果做疾病监测、反垃圾,则是保准确率的条件下,提升召回。

所以,在两者都要求高的情况下,可以用F1(或者称为F-score)来衡量。计算公式如下:

                     F1= 2 * P * R / (P + R) 

(1) 公式基本上就是这样,但是如何算图1中的A、B、C、D呢? 这需要人工标注,人工标注数据需要较多时间且枯燥,如果仅仅是做实验可以用用现成的语料。当然,还有一个办法,找个一个比较成熟的算法作为基准,用该算法的结果作为样本来进行比照 ,这个方法也有点问题,如果有现成的很好的算法,就不用再研究了。

(2) 形象直观的理解就是Recall要求的是全,宁可错杀一千,不能放过一人,这样Recall就会很高,但是precision就会最低。比如将所有的样本都判为正例,这是Recall就会等于1,但是很多负样本都被当做了正例,在某些情况就不适用,比如邮件过滤,此时要求的是准确率,不能是召回率,将所有的邮件都当做垃圾邮件肯定是最坏的结果(此时Recall=1)。

如果没有证据证明你有罪,那么你就有罪,召回率会很高;如果没有证据证明你有罪,那么你就无罪,召回率会很低,不全,很多人逍遥法外;

二:MAP

MAP:全称mean average precision(平均准确率)。mAP是为解决P,R,F-measure的单点值局限性的,同时考虑了检索效果的排名情况。

如:

         mPA 是Object Detection算法中衡量算法的精确度的指标,涉及两个概念:查准率Precision、查全率Recall。对于object detection任务,每一个object都可以计算出其Precision和Recall,多次计算/试验,每个类都 可以得到 一条P-R曲线 ,曲线下的面积就是AP的值,这个mean的意思是对每个类的AP再求平均,得到的就是mPA的值,mPA的大小一定在[0,1]区间。

以上是关于f1score多大比较好的主要内容,如果未能解决你的问题,请参考以下文章

NLP基础知识: F1-score, 混淆矩阵和语料库

JVM XMX设置多大比较好,Docke容器里该怎么设置JVM呢@无界编程

少儿编程需要学啥语言?

我想学编程请问哪种语言比较合适用来写游戏辅助的

『NLP学习笔记』Sklearn计算准确率精确率召回率及F1 Score

Spring Cloud 源码解读之 如何配置好OpenFeign的各种超时时间!