下面这个图表示了精度和召回率这两个指标,主要用在于分类问题中。
![](https://img.haomeiwen.com/i1667471/e33aefdbfd41ad86.jpg)
例如有一个二分类问题的算法。
图中的圆圈里面代表算法判定为正的一些样本。
圆圈的外面代表算法判定为负的一些样本。
但实际上算法它是会有一些东西误判的。
例如方形的左边一半,是实际上为正的样本。右边一半,是实际上为负的样本。那除了算法判断正确的,以外,就是判断错误的样本。
可以对照这个图,看一下准确率,精度,和召回率的定义。
右上角是准确率的公式。意思就是,算法的所有预测结果中,预测正确的有多少
左下角为 precision 精度 查准率就是对于所有机器判定为正的里面,有多大的比例是真的正样本
右下角为 recall 召回率 查全率,顾名思义,就是实际的正样本中,有多大比例被检出了
在图中有标记,阴阳,真假。
真/假 阴/阳性中,阴阳性是指的分类器的判断结果是阴性还是阳性,而真假指代的是是否和真是答案相符
不同的问题,他需要用的指标,希望达到的目标是不一样的。
我们根据召回率这个名字,可以考虑一个,召回的例子。
例如有一个汽车公司,他们有一些车发现有问题,
于是就要召回,他们告诉了车主判断问题的方法,
有些车是真的有问题,但是车主没判断出来,
有些车没问题,但车主认为有问题,
这个时候公司就要计算一下召回率,看有问题的车被召回了多少。
精度—召回率 之间存在制衡
随着精度的增加,召回率会降低,召回率增加,精度就会降低。
有时如果需要召回率高,就可以接受较低的精度。
如果我们想要找到精度和召回率的最佳组合,我们可以使用 F1 score 来对两者进行结合。
F1 score 是对精度和召回率的调和平均,有个公式
如果我们想创建一个具有最佳的精度—召回率平衡的模型,那么就要尝试将 F1 score 最大化。
在实际应用时,因为是分类算法,会有一个阈值,当结果高于这个阈值时为一类,低于这个阈值时为另一类。
对每个阈值可以计算相应的 精度 召回率 f1 等指标,
![](https://img.haomeiwen.com/i1667471/5a53019a710344f1.jpg)
通过更改阈值,这些指标都会变化,
如果想要精度和召回率平衡,可以选择最大化 F1 score 时候的阈值
例如上图,基于 F1 score,整体最佳的模型出现在阈值为 0.5 的地方。
如果我们想要在更大程度上强调精度或者召回率,我们可以选择这些指标上最佳时对应的模型。
网友评论