准确率(accuracy)、精确率(precision)、召回率(recall)

整理了知乎上的前两个回答,https://www.zhihu.com/question/19645541

其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了。

总结一下就是:

  • 召回率——查准率——recall
  • 查全率——精确率——precision

首先明确一下几个表示:
- True Positive(真正, TP):将正类预测为正类数.
- True Negative(真负 , TN):将负类预测为负类数.
- False Positive(假正, FP):将负类预测为正类数 误报 (Type I error).
- False Negative(假负 , FN):将正类预测为负类数 漏报 (Type II error).
即:

Positive Negative
True TP FP
False FN TN

这样之后,准确率、精确率和召回率可以用如下公式来表示:
准确率 : Acc=TP+TNTP+FP+FN+TN
精确率: Pre=TPTP+FP
召回率: Recall=TPTP+FN

例子:假设我们手上有60个正样本,40个负样本,我们要找出所有的正样本,系统查找出50个,其中只有40个是真正的正样本,计算上述各指标。

  • TP: 将正类预测为正类数 40
  • FN: 将正类预测为负类数 20
  • FP: 将负类预测为正类数 10
  • TN: 将负类预测为负类数 30

准确率(accuracy) = 预测对的/所有 = (TP+TN)/(TP+FN+FP+TN) = 70%
精确率(precision) = TP/(TP+FP) = 80%
召回率(recall) = TP/(TP+FN) = 2/3

你可能感兴趣的:(杂)