您的位置:首页 > 其它

机器学习的精确率P,召回率R和F-score

2017-05-12 11:30 260 查看
数据集中 : 正例 反例

我们的预测 正例 : A B

我们的预测 反例 : C D

精确率P:就是A/(A+B),通俗化意思是“我们的预测有多少是对的”;

召回率R:就是A/(A+C) 通俗化意思是“正例里我们的预测覆盖了多少”;

F-score=(2*P*R)/(P+R)。

举个例子:

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

TP: 将正类预测为正类数 60

FN: 将正类预测为负类数 40

FP: 将负类预测为正类数 20

TN: 将负类预测为负类数 30

准确率(accuracy) = 预测对的/所有 = (TP+TN)/(TP+FN+FP+TN) = 60%;

精确率(precision) = TP/(TP+FP) = 75%;

召回率(recall) = TP/(TP+FN) = 60%;

引用知乎上某匿名用户的话(清楚直白):

**假设一共有10篇文章,里面4篇是你要找的。
根据你某个算法,你认为其中有5篇是你要找的,但是实际上在这5篇里面,只有3篇是真正你要找的。
那么你的这个算法的precision是3/5=60%,也就是,你找的这5篇,有3篇是真正对的,
这个算法的recall是3/4=75%,也就是,一共有用的这4篇里面,你找到了其中三篇。**


**比如王老板在100个人(有人才和普通人)中出选人才,王老板的方法不能100%的把人才和普通人区分开来。那么就会有一些人才被当作是普通人,一部分普通人被认为是人才的情况出现。这个时候精确率就是王老板选出来的人才中有多少是真正的人才,这个是关于有多少普通人“滥竽充数”的问题,精确率越高说明普通人“滥竽充数”的就越少,即滥竽充数的越少。召回率就是说有多少人才被埋没的问题了。本来是人才,结果被当成普通人。召回率越高说明人才被当成普通人的就越少,即人才流失越少。**
作者:匿名用户
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐