前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Precision,Recall,F1score,Accuracy的理解

Precision,Recall,F1score,Accuracy的理解

作者头像
全栈程序员站长
发布2022-11-04 16:50:51
4120
发布2022-11-04 16:50:51
举报
文章被收录于专栏:全栈程序员必看

Precision,Recall,F1score,Accuracy四个概念容易混淆,这里做一下解释。

假设一个二分类问题,样本有正负两个类别。那么模型预测的结果和真实标签的组合就有4种:TP,FP,FN,TN,如下图所示。这4个分别表示:实际为正样本你预测为正样本,实际为负样本你预测为正样本,实际为正样本你预测为负样本,实际为负样本你预测为负样本。

在这里插入图片描述
在这里插入图片描述

那么Precision和Recall表示什么意思?一般Precision和Recall都是针对某个类而言的,比如正类别的Recall,负类别的Recall等。如果你是10分类,那么可以有1这个类别的Precision,2这个类别的Precision,3这个类别的Recall等。而没有类似全部数据集的Recall或Precision这种说法。

正样本的Precision表示你预测为正的样本中有多少预测对了,如下公式。

这里写图片描述
这里写图片描述

正样本的Recall表示真实标签为正的样本有多少被你预测对了,如下公式。二者的差别仅在于分母的不同。

这里写图片描述
这里写图片描述

还有一个概念:Accuracy,表示你有多少比例的样本预测对了,公式如下,分母永远是全部样本的数量,很好理解。很容易扩展到多类别的情况,比如10分类,那么分子就是第一个类别预测对了多少个+第二个类别预测对了多少个+…+第十个类别预测对了多少个。

这里写图片描述
这里写图片描述

F1score的计算是这样的:1/F1score = 1/2(1/recall + 1/precision)*,简单换算后就成了:F1score=2recallprecision/(recall+precision)。同样F1score也是针对某个样本而言的。一般而言F1score用来综合precision和recall作为一个评价指标。还有F1score的变形,主要是添加一个权重系数可以根据需要对recall和precision赋予不同的权重。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181981.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档