对于2分类问题,假设数据集由正例和反例构成,那么分类结果可以分为四种情况:
- 将正例预测为正例,即 正 → 正
- 将正例预测为反例,即 正 → 反
- 将反例预测为正例,即 反 → 正
- 将反例预测为反例,即 反 → 反
真实情况 | 预测结果 | |
正例 | 反例 | |
正例 | TP(true positive) | FN(false negative) |
反例 | FP(false positive) | TN(true negative) |
准确率:预测正确的结果中,正例的占比
召回率:所有正例中,被预测为正例的占比
评价一个分类器的时候我们使用如上两个指标进行综合评价,但是两个指标看起来毕竟比较麻烦,这时候我们就想能不能把这两个指标综合成一个指标。两个指标综合成一个指标最简单的方法就是对两个指标取平均数,我们知道常用的平均数有三种:
- 算数平均
- 几何平均
- 调和平均
这时就有个问题,选哪个平均数计算方法来计算准确率和召回率的平均值比较好?
那我们就需要有个选择标准。
这时考虑一个例子,不管正例反例我都预测为正例,这时准确率极低,召回率max,这显然是个很垃圾的分类器。
从这个例子我们可以得出一个选择好分类器的标准:那就是对于准确率和召回率来说,这两个指标都是越大越好的,并且不能有一个指标特别差,也就是说如果准确率低,我们的新指标也要低;召回率低,我们的新指标同样要低。
基于上述标准,我们考虑三种平均值算法的性质,假如P=0.5,R=0.2
准确率和召回率的三种平均值结果分别为:
算数平均:
几何平均:
调和平均
我们发现对于调和平均数,更加向数值小的数偏移,我们发现调和平均数的计算更加符合我们的选择标准。
从而有了F1指标:
其中2=1+1,表示P和R等权重。
如果希望权重不同,F1指标可以改写为:
β>0表示权重,β<1准确率影响更大,β>1召回率影响更大