ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

机器学习--如何理解Accuracy, Precision, Recall, F1 score

2020-02-27 20:08:35  阅读:955  来源: 互联网

标签:正例 F1 预测 Recall 反例 score 查准率 Accuracy


当我们在谈论一个模型好坏的时候,我们常常会听到准确率(Accuracy)这个词,我们也会听到"如何才能使模型的Accurcy更高".那么是不是准确率最高的模型就一定是最好的模型?

这篇博文会向大家解释准确率并不是衡量模型好坏的唯一指标,同时我也会对其他衡量指标做出一些简单说明。

  

首先我们先要了解混淆矩阵(Confusion Matrix), 如下图,混淆矩阵经常被用来衡量一个分类模型在测试样本上的性能,本文提到的所有衡量标准都会用到下面混淆矩阵中出现的的四个值

                                                                               

 

真正例和真反例表示被正确预测的数据,假正例和假反例表示被错误预测的数据,接下来的内容基本都是围绕着四个值展开,因此我们有必要在这里弄清楚这四个值的含义是什么.

TP(True Positive) -被正确预测的正例.表示真实值为正,同时也被正确的预测为正;

TN(True Negative) -被正确预测的反例.表示真实值为反例,也被正确的预测为反例;

FP(False Positive) -表示真实值为负例,被错误的预测为正例;

FN(False Negative)-表示真实值为正例,被错误的预测为反例;

在了解了这四个值之后让我们来计算接下来的Accuracy, Precision, Recall, F1 Score

 

Accuracy

Accuracy是最直观的衡量模型好坏的指标,它实际上是被正确预测的数据量比上所有参与预测的数据量的值。 正如我开篇提到的,有人会认为如果我们的模型具有很高的Accuracy,那么我们的模型是最好的。

首先要明确只有当我们拥有一个对称数据集时,也就是假阳性和假阴性的值几乎相同时,Accuracy才可以被用来作为一个很好的衡量标准。 因此,我们必须查看其他参数才能完整地评估模型的性能。

                                                                         

Precision and Recall

有人翻译他们为精确率和召回率,我更喜欢用查准率和查全率来翻译这两个词.                        

  • 查准率P就表示在预测结果为正例的样本里,真实情况也为正例所占的比率

                                                                                   

           适用场景:当反例被错误的预测为正例(假正例)产生的代价很高的时候,适合用查准率,因为高查准率意味着低假正率/假阳性.比如在垃圾邮件检测中,假正例意味着非垃圾邮件(实际为负)被错误的预测为垃圾邮件(预测为正).如果一个垃圾邮件监测系统的查准率不高导致很多非垃圾邮件被归到垃圾邮箱里去,那么邮箱用户可能会丢失或者漏看一些很重要的邮件.

  • 查全率R表示在真实情况为正例的所有样本中,预测结果也为正例的样本所占的比率

                   

                                                                          

            使用场景:当正例被错误的预测为反例(假反例)产生很高的代价时,用查全率,因为高查全率意味着低假反率/假阴性.比如说在银行的欺诈检测或医院的病患者检测中,如果将欺诈性交易(实际为正)预测为非欺诈性交易(预测为负),则可能会给银行带来非常严重的损失。再比如以最近的新冠疫情为例,如果一个患病者(实际为正)经过试剂检测被预测为没有患病(预测为负),这样的假反例或者说假阴性产生的风险就非常大.

 

F1 Score

F1是查准率和查全率的一个加权平均,根据wikipedia给出的解释,F1 Score表达式如下

                                                             


F1把假反例和假正例都考虑在内,它不像Accuracy这么容易理解,但是F1比Accuracy更适用,尤其是当你的数据集类别分布不均衡时.比如说你的样本中正样本:负样本 = 100:1.

 

 

当假正例和假反例造成的代价差不多的时候直接用Accuracy就可以,但是当假正例和假反例产生的代价差别很大的时候,则可以考率更好的度量比如Precision,Recall和F1 Score.

 

 

reference : Accuracy, Precision, Recall & F1 Score: Interpretation of Performance Measures

                  Accuracy, Precision, Recall or F1?

 

标签:正例,F1,预测,Recall,反例,score,查准率,Accuracy
来源: https://www.cnblogs.com/laozhanghahaha/p/12374027.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有