机器学习 | 评估原理——准确率、精确率、召回率、F1值

Hi,大家好,我是半亩花海。接着上次的模型评估与交叉验证继续更新《白话机器学习的数学》这本书的学习笔记,在此分享准确率、精确率、召回率、F1值相关评估原理。本章的基于前几节已建立的模型进行评估知识的学习,欢迎大家交流学习!

目录

一、引言

二、准确率(精度,Accuracy)

三、精确率(Precision)

四、召回率(Recall)

五、F1值(F-Measure)


一、引言

看到这个标题,我们应该会很容易想到运用 Yolov5 框架训练模型完后会出现很多末评估的图片,如下图所示,那么它们的具体含义是什么呢?显然,和本文讲述的模型评估相关知识密切相关。


二、准确率(精度,Accuracy)

准确率的计算公式如下:

在上一篇文章《机器学习 | 评估原理——模型评估与交叉验证-CSDN博客》中,我们已经知道了精度的计算公式即如上式所示。

一般来说,只要计算出这个 Accuracy 值,基本上就可以掌握分类结果整体的精度了。但是有时候只看这个结果会有问题,所以还有别的指标。 比如下面这个例子,假设图中的圆点是 Positive 数据、叉号是 Negative 数据,我们来考虑一下数据量极其不平衡的情况。

假设有 100 个数据,其中 95 个是 Negative。那么,哪怕出现模型把数据全部分类为 Negative 的极端情况,Accuracy 值也为 0.95,也就是说模型的精度是 95%。既然 Positive 相对少很多,那么即使模型把数据全部分类为 Negative,它的精度也会很高。但是不管精度多高,一个把所有数据都分类为 Negative 的模型,肯定不能说它是好模型对吧?

遇到这种情况,仅看整体的精度根本看不出来问题。所以要引入别的指标。这些指标稍微有点复杂,结合具体的数据来看更好理解,所以我们用如下图所示的例子来说明。


三、精确率(Precision)

精确率的计算公式如下:

在“二、准确率”中的例子中,这看上去对 Positive 数据分类得不够好。首先我们来看另一个指标——精确率(Precision)

这个指标只关注 TP 和 FP根据表达式来看,它的含义被分类为 Positive 的数据中,实际就是 Positive 的数据所占的比例

我们实际地代入数值来计算看看。

这个值越高,说明分类错误越少。 拿这个例子来说,虽然被分类为 Positive 的数据有 3 个,但其中只有 1 个是分类正确的。所以计算得出的精确率为 0.333,属实很低


四、召回率(Recall)

召回率的计算公式如下:

把精确率分母上的 FP 换成 FN 就是它了。这个指标只关注 TP 和 FN。根据表达式来看,它的含义Positive 数据中,实际被分类为 Positive 的数据所占的比例

我们再来算算它的值。

这个值越高,说明被正确分类的数据越多。拿这个例子来说,虽然 Positive 数据共有 5 个,但只有 1 个被分类为 Positive。所以计算得出的召回率也很低

基于这两个指标来考虑精度是比较好的。 精确率和召回率都很高的模型就认为是一个好模型,但是在实际情况下,精确率和召回率会一个高一个低,需要我们取舍


五、F1值(F-Measure)

F1值的计算公式如下:

在之前的学习中,我们已经学习了准确率(Accuracy)、精确率(Precision)和召回率(Recall),有没有这样一个值能够综合考虑这两个值呢?如果只是简单地计算平均值并不算很好的方法。

假设现在有两个模型,它们的精确率和召回率如下数据所示。

模型 B 的召回率是 1.0,也就是说所有的 Positive 数据都被分类为 Positive 了,但是精确率也实在是太低了。如果将所有的数据都分类为 Positive,那么召回率就是 1.0。但是这样一来,Negative 数据也会被分类为 Positive,所以精确率会变得很低

看一下两个模型的平均值,会发现模型 B 的更高。但它是把所有数据都分类为 Positive 的模型,精确率极低,仅为 0.02,并不能说它是好模型

所以就出现了评定综合性能的指标 F 值。下面表达式中的 Fmeasure 就是 F 值,Precision 是前面说的精确率,Recall 是召回率。(ps:其实也有很多人把 F 值的表达式变形,写成下面这样,二者是相同的)

                                                                

精确率和召回率只要有一个低,就会拉低 F 值,该指标考虑到了精确率和召回率的平衡。计算一下前面两个模型的 F 值我们便会对这个说法理解得更加透彻。

和简单取平均值时得到的结果不同,模型 A 的 F 值更高。 这说明该指标考虑到了精确率和召回率的平衡。


另外,除 F1 值之外,还有一个带权重的 F 值指标,如下式所示。

式中,\beta 指的是权重我们可以认为 F 值指的是带权重的 F 值,当权重为 1 时才是刚才介绍的 F1 值带权重的 F 值更通用

F1 值在数学上是精确率和召回率的调和平均值(ps:关于调和平均值,其实并不需要太深入地了解,大家大致地了解清楚即可)。

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值