在Yolov5训练完之后会有很多图片,它们的具体含义是什么呢?
通过这篇博客,你将清晰的明白什么是精确率、召回率。这个专栏名为白话机器学习中数学学习笔记,主要是用来分享一下我在 机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私信或者评论区留言!这一篇就更新一下《 白话机器学习中的数学——精确率与召回率》**
文章目录
- 一、计算公式
- 二、详细分析
- 2.1精确率
- 2.2召回率
一、计算公式
1. 精确率
2.召回率
3. F值
二、详细分析
2.1精确率
在上一篇文章中,我们已经知道了精度的计算公式:
一般来说,只要计算出这个 Accuracy 值,基本上就可以掌握分类结果整体的精度了。但是有时候只看这个结果会有问题,所以还有别的指标。 比如下面这个例子:
假设图中的圆点是 Positive 数据、叉号是Negative 数据,我们来考虑一下数据量极其不平衡的情况。
假设有 100 个数据,其中 95 个是 Negative。那么,哪怕出现模型把数据全部分类为 Negative 的极端情况,Accuracy 值也为 0.95,也就是说模型的精度是 95%。但是不管精度多高,一个把所有数据都分类为 Negative 的模型,不能说它是好模型吧?遇到这种情况,只看整体的精度看不出来问题。
所以要引入别的指标。这些指标稍微有点复杂,结合具体的数据来看更好理解,所以我们用这个例子来说明吧:
这个例子看上去对 Positive 数据分类得不够好。首先我们来看第一个指标——精确率。它的英文是 Precision。
这个指标只关注 TP 和 FP。根据表达式来看,它的含义是在被分类为 Positive 的数据中,实际就是 Positive 的数据所占的比例。代入数值来计算看看。
这个值越高,说明分类错误越少。 拿这个例子来说,虽然被分类为 Positive 的数据有 3 个,但其中只有 1 个是分类正确的。所以计算得出的精确率很低。
2.2召回率
还有一个指标是召回率,英文是 Recall。
把精确率分母上的 FP 换成 FN 就是它了。这个指标只关注 TP 和 FN。根据表达式来看,它的含义是在Positive 数据中,实际被分类为 Positive 的数据所占的比例:
我们运用公式可以计算出来当前的召回率:
这个值越高,说明被正确分类的数据越多。 拿这个例子来说,虽然 Positive 数据共有 5 个,但只有 1 个被分类为 Positive。所以计算得出的召回率也很低。
基于这两个指标来考虑精度是比较好的。 精确率和召回率都很高的模型就认为是一个好模型,但是在实际情况下,精确率和召回率会一个高一个低,需要我们取舍。