转自:
作者:Charles Xiao
链接:https://www.zhihu.com/question/19645541/answer/91694636
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
一.定义辨析
<img src="https://pic3.zhimg.com/50/d701da76199148837cfed83901cea99e_hd.png" data-rawwidth="400" data-rawheight="727" class="content_image" width="400">在信息检索领域,精确率和召回率又被称为
在信息检索领域,精确率和召回率又被称为
查准率和
查全率,
查准率=检索出的相关信息量 / 检索出的信息总量
查全率=检索出的相关信息量 / 系统中的相关信息总量
二.举个栗子
准确率(accuracy) = 预测对的/所有 = (TP+TN)/(TP+FN+FP+TN) = 70%
精确率(precision) = TP/(TP+FP) = 80%
召回率(recall) = TP/(TP+FN) = 2/3
除此之外,还有ROC曲线,PR曲线,AUC等评价指标,可以参见我的博客: 机器学习性能评估指标
链接:https://www.zhihu.com/question/19645541/answer/91694636
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
纠正下,精确率(precision)和准确率(accuracy)是不一样的,题主问的应该是精确率与召回率之间的差别。
一.定义辨析
刚开始接触这两个概念的时候总搞混,时间一长就记不清了。
实际上非常简单, 精确率是针对我们 预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),也就是其实就是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数。
![]()
而 召回率是针对我们原来的 样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。
![]()
<img src="https://pic3.zhimg.com/50/d701da76199148837cfed83901cea99e_hd.png" data-rawwidth="400" data-rawheight="727" class="content_image" width="400">在信息检索领域,精确率和召回率又被称为
![](https://i-blog.csdnimg.cn/blog_migrate/e542a9a9bf93d7bc9aa8b1f76f9c37c7.png)
查准率=检索出的相关信息量 / 检索出的信息总量
查全率=检索出的相关信息量 / 系统中的相关信息总量
二.举个栗子
假设我们手上有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
除此之外,还有ROC曲线,PR曲线,AUC等评价指标,可以参见我的博客: 机器学习性能评估指标