准确率和召回率是评估分类模型性能的两个重要指标,准确率与召回率(Precision & Recall)
准确率P(Accuracy)是指分类器正确预测的样本数占全部样本数的比例,即:
准确率 = 预测正确的样本数 / 总样本数
召回率R(Recall)是指分类器预测为正例(positive)的样本中,预测正确的样本数占所有实际为正例的样本数的比例,即:
召回率 = 预测正确的正例数 / 实际正例数
F1 = 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)
看下面一张图:
在二元分类问题中,我们通常将被预测的类别称为正例(Positive)或负例(Negative)。其中,真实为正例且被预测为正例的样本数为真正例(True Positive, TP),真实为负例但被误预测为正例的样本数为假正例(False Positive, FP),真实为负例且被预测为负例的样本数为真负例(True Negative, TN),真实为正例但被误预测为负例的样本数为假负例(False Negative, FN)。
准确率P=TP/(TP+FP)
召回率R=TP/(TP+FN)
F1=2*TP/(2*TP+FP+FN)=2*P*R/(P+R)
举例说明:
不妨举这样一个例子:某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:
正确率 = 700 / (700 + 200 + 100) = 70%
召回率 = 700 / 1400 = 50%
F1 = 70% * 50% * 2 / (70% + 50%) = 58.3%
另外:
E值
E值表示查准率P和查全率R的加权平均值
b越大,表示查准率的权重越大。