分类准确率是单一数字评估指标(single-number evaluation metric)的示例:你在你的开发集(或测试集)上运行你的分类器,然后得到样本分类正确的比例(fraction)(单个数字),根据这个指标,如果分类器A的准确率为97%,分类器B的准确率为90%,那么我们认为分类器A更好。
相比之下,精度(查准率)(Precision)和召回率(查全率)(Recall)[3]就不是一个单一数字的评估指标:它给出两个数字来评估分类器。拥有多个评估指标使得算法之间的比较更加困难,假设你的算法表现如下:
分类器 精度 召回率
A 95% 90%
B 98% 85%
如上所示,这两个分类器的性能差不多,这就导致我们无法轻松的选择最好的那个。
在开发期间,你的团队会尝试大量关于算法架构,参数调整,特征选择等方面的想法。使用单一数字评估指标(如精度)使得你可以根据其在该指标上的表现快速对所有模型进行排序,从而绝对哪一个最好。
如果你真的即关心精度也关心召回率,我推荐你使用一个标准方法来把他们组合成一个单一的数字。例如你可以使用它们的平均值。或者你可以计算F1值(F1 score),这是一种基于平均值改善的方法,比简单的取平均值的效果要好。[4]
分类器 精度 召回率 F1值
A 95% 90% 92.4%
B 98% 85% 91.0%
当你面对大量的分类器时,使用单一数字评估更加方便和快速的让你选择出最好的分类器。
在最后一个例子中,假如你得到了分别在四个主要市场((1)美国,(2)中国,(3)印度和(4)其他地区)猫咪分类器的准确率。这里提供了四个指标。通过对这四个数据进行平均或加权平均,最终得到一个单一数字度量。取平均值或加权平均值是合并多个指标的常见方法之一。
[3]猫咪分类器的精度是指在开发集(或测试集)中检测出所有猫咪图片中有多少比例是真正的含有猫咪。它的召回率是指在开发集(或测试集)中所有真正的猫咪图片中有多少比例被检测出来了。在高精度和高召回率之间通常是权衡的。
[4]如果你想了解更多关于F1值的信息,请见: https://en.wikipedia.org/wiki/F1_score 它是 基于精度和召回率的“几何平均(geometric mean)”定义的,计算公式为: 2/((1/精度)+(1/召回率)).