因为接触到机器学习的部分知识,不是很懂。以下内容来自知乎,作为笔记留存。

  作者原文博客:http://charleshm.github.io/2016/03/Model-Performance/  作者:Charles Xiao

  链接:https://www.zhihu.com/question/19645541/answer/91694636

 

  精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是对的。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP)。

  而召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(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