系统评测指标:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F-Score

系统评测指标:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F-Score

大家好,又见面了,我是全栈君。

  示例:假如某个班级有男生80人,女生20人,共计100人.目标是找出所有女生. 现在某人挑选出50个人,其中20人是女生,另外还错误的把30个男生也当作女生挑选出来了. 作为评估者的你需要来评估(evaluation)下他的工作。

一、概念

  1.1 准确率(Accurary):对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。

  前面的场景中,实际情况是那个班级有男和女两类,某人(也就是定义中所说的分类器)把班级中的人分为男女两类。Accuracy就是分类正确的人总人数的比例。很容易,我们可以得到:他把其中70(20女+50男)人判定正确了,而总人数是100人,所以它的Accuracy就是70 %(70 / 100).

  在说precision,recall和f1-measure之前,我们需要先需要定义TP,FN,FP,TN四种分类情况. 按照前面例子,我们需要从一个班级中的人中寻找所有女生,如果把这个任务当成一个分类器的话,那么女生就是我们需要的,而男生不是,所以我们称女生为”正类”,而男生为”负类”.

  

通过这张表,我们可以很容易得到这几个值: TP=20 FP=30 FN=0 TN=50

  1.2 精确率(precision):实际被检索到的结果中(TP+FP)有多少(TP)是理论正确的结果

  公式是P=TP/(TP+FP),它计算的是所有”正确被检索的item(TP)”占所有”实际被检索到的(TP+FP)”的比例.

  在例子中就是希望知道此君得到的所有人中,正确的人(也就是女生)占有的比例.所以其precision也就是40%(20女生/(20女生+30误判为女生的男生)).

  1.3 召回率(recall):理论正确的结果(TP+FN)中有多少(TP)被实际正确检索到了

  公式是R=TP / (TP+FN),它计算的是所有”正确被检索的item(TP)”占所有”应该检索到的item(TP+FN)”的比例。

  在例子中就是希望知道此君得到的女生占本班中所有女生的比例,所以其recall也就是100%(20女生/(20女生+ 0 误判为男生的女生))

  上述两者的取值在0-1之间,数值接近于1,精确率(查准率)和召回率(查全率)就越高。

  1.4 F-Score值就是精确值和召回率的调和均值,也就是

  公式:2/F=1/P+1/R

  调整为:F=2PR/(P+R)

  例子中 F1-measure 也就是约为 57.143%=20.41/(0.4+1).

  示例:

某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:

精确率 = 700 / (700 + 200 + 100) = 70%

召回率 = 700 / 1400 = 50%

F值 = 70% * 50% * 2 / (70% + 50%) = 58.3%

不妨看看如果把池子里的所有的鲤鱼、虾和鳖都一网打尽,这些指标又有何变化:

精确率 = 1400 / (1400 + 300 + 300) = 70%

召回率 = 1400 / 1400 = 100%

F值 = 70% * 100% * 2 / (70% + 100%) = 82.35%        

  由此可见,精确率是评估捕获的成果中目标成果所占得比例;召回率,顾名思义,就是从关注领域中,召回目标类别的比例;而F值,则是综合这二者指标的评估指标,用于综合反映整体的指标。

  当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高。如果是做实验研究,可以绘制Precision-Recall曲线来帮助分析。  

综合评价

  P和R指标有时候会出现矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。

  F-Measure是Precision和Recall加权调和平均

  系统评测指标:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F-Score

  当参数α=1时,就是最常见的F1,也即

  系统评测指标:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F-Score

  可知,F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。

 

 

  

转载于:https://www.cnblogs.com/xiaofeiIDO/p/7363986.html

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

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

(0)
上一篇 2022年3月6日 上午10:00
下一篇 2022年3月6日 上午10:00


相关推荐

  • Java框架介绍

    Java框架介绍Java框架介绍

    2022年4月22日
    42
  • redash重置密码BUG解决

    redash重置密码BUG解决redash 邮件重置密码 BUG 解决方法 redash 是一个比较少见的开源 BI 工具 由于其 web 框架使用的是 Flask 所以其源码结构和内容还是相对容易看懂 今天在测试其重置密码功能时发现一个 BUG 使得我在点击重置密码邮件中的链接时 总是会出现以下提示 属实烦人 意思大概是你已经接受了邀请 请尝试重置您的密码 WTF 难道我现在不是在重置我的密码吗 但是尝试管理员账号之后发现管理员账号并

    2026年3月18日
    2
  • vue 组件通信的几种方式

    vue 组件通信的几种方式vue 组件通信的 N 种方式

    2026年3月16日
    2
  • 33.form标签中的GET和POST提交方式

    33.form标签中的GET和POST提交方式form 标签中的 GET 和 POST 在 HTML 中 form 表单的作用是收集标签中的内容 form form 中间可以由访问者添加类似于文本 选择 或者一些控制模块等等 然后这些内容将会被送到服务端 一个表单必须指定两样东西 form 的 method 参数用于设置表单的提交方式 默认使用 POST action 用于设置表单的提交 url 如果不写或者保持空字符串 那么将使用当前的 URL form 表单使用 post 方式提交的例子 下面例子实现流程 当我们第一次访

    2026年3月18日
    2
  • linux centos端口查看,Centos查看端口占用情况和开启端口命令

    linux centos端口查看,Centos查看端口占用情况和开启端口命令Centos 查看端口占用情况命令 比如查看 80 端口占用情况使用如下命令 lsof itcp 80 列出所有端口 netstat ntlp1 开启端口 以 80 端口为例 方法一 sbin iptables IINPUT ptcp dport80 jACCEPT 写入修改 etc init d iptablessave 保存修改 serviceiptab 重启

    2025年6月16日
    3
  • OpenClaw 实战经验总结

    OpenClaw 实战经验总结

    2026年3月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号