◆版权声明:本文出自胖喵~的博客,转载必须注明出处。html
转载请注明出处:http://www.cnblogs.com/by-dream/p/7668501.html 机器学习
前言学习
机器学习中通过听到“召回率”和“精确率” 这两个名词,今天简单解释一下。spa
概念htm
首先我先简单看几个名词解释: blog
一般咱们预测的样本中分为正样本和负样本:ci
TP ( True Positive ):表示把正样本预测为正样本;get
FP ( False Positive ):表示把负样本预测为正样本;博客
TN ( True Negative ):表示把负样本预测为负样本;it
FN ( False Negative ):表示把正样本预测为负样本;
再理解概念应该比较容易了:
精确率(Precision):预测为正的样本中有多少是真正的正样本。也就是
Precision = TP / ( TP + FP )
召回率(Recall):样本中的正例有多少被预测正确了。也就是
Recall = TP / ( TP + FN )
这里再提一个咱们平时经常使用的一个概念:准确率(accuracy) 即预测正确全部样本占总样本的比例: (TP+TN)/(TP+FN+FP+TN)
维基百科中对召回率和精确率的解释可能更加的直观一些:
图中的左侧表明正样本,右侧表明负样本,圈中的为预测为正样本的数据。
在信息检索领域,精确率和召回率又被称为查准率和查全率:
查准率=检索出的相关信息量 / 检索出的信息总量
查全率=检索出的相关信息量 / 系统中的相关信息总量
举例
假如让你说出周杰伦《七里香》专辑里的10首歌曲。
若是你一共只回答了3首,3首都是对的,那么你的:
精确率 = TP / ( TP + FP ) = 3/(3+0) = 100%
召回率 = TP / ( TP + FN ) = 3/(3+7) = 30%
可见你虽然回答的精确率很是的高,可是你的召回率并不高,那么可否能够用召回率来衡量一我的的回答质量呢?咱们再看看下面的例子:
若是你一共回答了15首,其中10首是对的,5首是错的,那么你的:
精确率 = TP / ( TP + FP ) = 10/(10+5) = 66.6%
召回率 = TP / ( TP + FN ) = 10/(10+0) = 100%
可见你的召回率达到100%了,可是你的精确率却并不高了。所以咱们在实际应用的过程当中,这两个数值须要一块儿用来评估。