准确率(Accuracy) 精确率(Precision) 召回率(Recall)和F1-Measure(精确率和召回率的调和平均值)

Posted 辉常努腻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了准确率(Accuracy) 精确率(Precision) 召回率(Recall)和F1-Measure(精确率和召回率的调和平均值)相关的知识,希望对你有一定的参考价值。

文章目录

准确率(Accuracy) 精确率(Precision) 召回率(Recall)和F1-Measure(精确率和召回率的调和平均值)

Spark 构建分类模型

学习分类模型的基础知识以及如何在各种应用中使用这些模型。分类通常指将事
物分成不同的类别。在分类模型中,我们期望根据一组特征来判断事物的类别,这些特征代表了
与物品、对象、事件或上下文相关的属性(变量)。

最简单的分类形式是分为两个类别,即二分类。一般将其中一类标记为正类(记为 1),另
外一类标记为负类(记为1 或者 0)。下图展示了一个二分类的简单例子。例子中输入的特征有
二维,分别用 x 轴和 y 轴表示每一维的值。我们的目标是训练一个模型,它可以将这个二维空间
中的新数据点分成红色和蓝色两类。

先验知识

我们首先将数据的类别统一分为两类:正类和负类。例如:一个数据集中的数据一共有3类,小学生、中学生、高中生。我们的目标是预测小学生,那么标记为小学生的数据就是正类,标记为其他类型的数据都是负类。

数据有两种状态:测试集数据和预测结果数据。对一批测试数据进行预测,结果可以分成四种。

  • TP(True Positive): 原本是正类,预测结果为正类。(正确预测为正类)
  • FP(False Positive): 原本是负类,预测结果为正类。(错误预测为正类)
  • TN(True Negative): 原本是负类,预测结果为负类。(正确预测为负类)
  • FN(False Negative): 原本是正类,预测结果为负类。(错误预测为负类)

如图所示:

准确率(Accuracy)

对于给定的测试数据集,分类器正确分类的样本数与样本总数之比,就称为准确率,即(TP+TN)/(TP+TN+FP+FN)

精确率(Precision)

在预测结果为正类的数据中,有多少数据被正确预测(原本就是正类),即TP/(TP+FP)。
  对应于检索中的查准率,检索出相关文档数/检索出的文档总数
精确率就是说 在所有预测数据中 的 预测成功率

召回率(Recall)

在测试集中为正类的数据中,有多少数据被正确预测(预测结果是正类),即TP/(TP+FN)。
  对应于检索中的查全率。检索出相关文档数/文档库中相关文档总数
召回率就是说在你所有样本数据

F1-Measure

精确率和召回率的调和平均值:Accuracy * Precision * 2 / (Accuracy + Precision)

总结

理论上,数据预测的准确率和召回率越接近1,说明预测模型的效果越好。但是实际中也不一定,取决于场景更倾向于哪一种。例如我们去某搜索引擎搜索XX病,一共返回了10条结果,其中5条广告,5条有用的相关信息,那么准确率就是50%,而后台数据库中一共就5条有用的相关信息,召回率却是100%,所以大家就认为这个搜索引擎也能凑合用。

区别精确率和召回率主要记住他们是分母不同就好了,召回率是对应测试集中的正类数据而言,而准确率是对应预测结果为正类的数据而言。

以上是关于准确率(Accuracy) 精确率(Precision) 召回率(Recall)和F1-Measure(精确率和召回率的调和平均值)的主要内容,如果未能解决你的问题,请参考以下文章

准确率accuracy精确率precision和召回率recall

准确率(Accuracy),精确率(Precision),召回率(Recall)和F1-Measure。

Accuracy(准确率), Precision(精确率), 和F1-Measure, 结合Spark源码分析

多分类任务中精确率(Precision)召回率(Recall)以及准确率(Accuracy)评估指标的计算

多分类任务中精确率(Precision)召回率(Recall)以及准确率(Accuracy)评估指标的计算

多分类任务中精确率(Precision)召回率(Recall)以及准确率(Accuracy)评估指标的计算