理解F1值

选择评价指标时,了解它们的适用范围很重要。正确率应用范围很广,理解起来比较容易, 计算起来也方便。但是,造假很容易。换句话说,你很容易就能实现一个正确率很高,但实际用处不大的算法。

例如,对于垃圾邮件过滤器而言,其所处理的邮件很可能80%以上都是垃圾邮件,倘若一个过滤器把所有邮件都标为垃圾邮件,它没有实际应用价值,但是正确率却高达80%!

为了解决这个问题,我们使用另一个为常用的评价指标F1值(也被称为F值、F-measure, 或者其他变体)。

F1值是以每个类别为基础进行定义的,包括两大概念:准确率(precision)和召回率(recall)。 准确率是指预测结果属于某一类的个体,实际属于该类的比例。召回率是指被正确预测为某个类别的个体数量与数据集中该类别个体总量的比例。

准确率又可以称为查准率,召回率又可以称为查全率。我们以猫为例,介绍以下这两个定义。
precision:在你的分类器标记为猫的例子中,有多少是真猫的概率
recall:对于所有的真猫图片,你的分类器正确识别出了多少百分比。实际是猫的图片中,有多少被系统识别出来了。

对于这两个指标而言,我们可以分别对相关或者不相关的情况计算F1值,这里我们只关注相关这一类数据的分类情况。因此,准确率计算变为以下问题:在所有被预测的相关消息中,真正相关的比例占多少? 类似的,召回率转化为:数据所有相关消息中,有多少被真正预测为相关?

计算出准确率和召回率后,就能得到F1值,它是两者的调和平均数。

F1=2precisionrecallprecision+recall F 1 = 2 p r e c i s i o n ⋅ r e c a l l p r e c i s i o n + r e c a l l


参考资料
《Python数据分析入门与实践》

你可能感兴趣的:(数据科学)