当前位置: 首页 > news >正文

准确率、召回率、f1指标计算的区别

准确率 (Accuracy)、召回率 (Recall) 和 F1 分数

  • T P TP TP (True Positive): 真正例(正类被正确预测为正类)
  • T N TN TN (True Negative): 真负例(负类被正确预测为负类)
  • F P FP FP (False Positive): 假正例(负类被错误预测为正类)
  • F N FN FN (False Negative): 假负例(正类被错误预测为负类)

准确率 (Accuracy)

  • 定义: 准确率是模型正确预测的样本占总样本的比例。

  • 公式:
    Accuracy = T P + T N T P + T N + F P + F N \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} Accuracy=TP+TN+FP+FNTP+TN

  • 应用: 准确率适用于样本类分布均衡的情况,即正类和负类样本数量大致相同。它在类不平衡的情况下可能会产生误导性的结果。

召回率 (Recall)

  • 定义: 召回率是模型正确预测的正类样本占实际正类样本的比例。
  • 公式:
    Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN} Recall=TP+FNTP
  • 应用: 召回率特别适用于正类样本重要的情况,例如在医学诊断中,我们希望尽可能多地识别出真正的疾病病例,即使这意味着可能会出现一些误报。

F1 分数 (F1 Score)

  • 定义: F1 分数是准确率和召回率的调和平均值,用于平衡这两者的表现。
  • 公式:
    F1 Score = 2 × Precision × Recall Precision + Recall \text{F1 Score} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} F1 Score=2×Precision+RecallPrecision×Recall
    其中:
    • Precision (精确率):
      Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP} Precision=TP+FPTP
  • 应用: F1 分数特别适用于需要兼顾准确率和召回率的情况,尤其在正类样本数量不均衡时。它提供了一个综合考虑两者的指标。

区别

  • 衡量的角度:

    • 准确率: 衡量的是模型整体的预测准确性。
    • 召回率: 专注于正类样本的识别能力。
    • F1 分数: 综合考虑了精确率和召回率的平衡情况,尤其在类不平衡时提供了一个综合评价指标。
  • 应用场景:

    • 准确率: 适用于类别均衡的情况。
    • 召回率: 适用于正类样本不均衡的情况,尤其是在关注正类样本时。
    • F1 分数: 适用于需要平衡准确率和召回率的情况,尤其是在正类样本和负类样本数量差异较大时。
  • 可能的权衡:

    • 高准确率: 不一定意味着高召回率,尤其是在数据集类别不平衡时。模型可能会偏向于预测数量多的负类样本,从而忽视正类样本。
    • 高召回率: 可能伴随较低的准确率,因为模型可能会将许多负类样本误预测为正类。
    • 高 F1 分数: 提供了一个权衡精确率和召回率的综合指标,但仍需结合具体应用场景来解读其价值。

例子

考虑一个医疗测试,假设我们有1000名患者,其中100名实际患病(正类),900名未患病(负类)。

  • 模型预测:

    • 80名实际患病的患者被正确预测为正类 (TP)
    • 20名实际患病的患者被错误预测为负类 (FN)
    • 50名未患病的患者被错误预测为正类 (FP)
    • 850名未患病的患者被正确预测为负类 (TN)
  • 准确率:
    Accuracy = 80 + 850 80 + 20 + 50 + 850 = 930 1000 = 0.93 或  93 % \text{Accuracy} = \frac{80 + 850}{80 + 20 + 50 + 850} = \frac{930}{1000} = 0.93 \text{ 或 } 93\% Accuracy=80+20+50+85080+850=1000930=0.93  93%

  • 召回率:
    Recall = 80 80 + 20 = 80 100 = 0.80 或  80 % \text{Recall} = \frac{80}{80 + 20} = \frac{80}{100} = 0.80 \text{ 或 } 80\% Recall=80+2080=10080=0.80  80%

  • 精确率:
    Precision = 80 80 + 50 = 80 130 ≈ 0.615 或  61.5 % \text{Precision} = \frac{80}{80 + 50} = \frac{80}{130} \approx 0.615 \text{ 或 } 61.5\% Precision=80+5080=130800.615  61.5%

  • F1 分数:
    F1 Score = 2 × 0.615 × 0.80 0.615 + 0.80 ≈ 0.692 或  69.2 % \text{F1 Score} = 2 \times \frac{0.615 \times 0.80}{0.615 + 0.80} \approx 0.692 \text{ 或 } 69.2\% F1 Score=2×0.615+0.800.615×0.800.692  69.2%

即使准确率很高(93%),但召回率(80%)和 F1 分数(69.2%)可以表明模型在正类样本的识别方面仍有提升空间。


相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MySQL:约束
  • 二十九、MongoDB(1)
  • 万界星空科技QMS系统:全面升级企业质量管理的利器
  • 用C34PRO打造一套高端性能主机
  • JavaFX布局-ButtonBar
  • 【Android】安卓四大组件之Service用法
  • QT生成.exe文件无法在未安装QT的电脑上运行的解决办法
  • CP AUTOSAR标准之DefaultErrorTracer(AUTOSAR_SWS_DefaultErrorTracer)(更新中……)
  • 视频监控汇聚平台LntonCVS视频监控管理平台解决方案和常见的接入方式
  • 黑神画Ⅱ--Unix 是下一代人工智能的模板吗?
  • ios 5.5寸、ipad13英寸如何截屏
  • 网络安全-渗透测试工具及插件介绍和使用方法
  • RabbitMQ:发送者的可靠性之配置发送者重试机制
  • 在 Linux 系统中下载 Python 并配置环境
  • 使用GPT-4o mini融合GraphRAG技术进行实战应用
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • Bootstrap JS插件Alert源码分析
  • CSS 三角实现
  • CSS 专业技巧
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JavaScript 一些 DOM 的知识点
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Java多态
  • React的组件模式
  • STAR法则
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vue-loader 源码解析系列之 selector
  • vuex 笔记整理
  • Windows Containers 大冒险: 容器网络
  • 初探 Vue 生命周期和钩子函数
  • 思否第一天
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 移动端唤起键盘时取消position:fixed定位
  • 责任链模式的两种实现
  • ​​​​​​​​​​​​​​Γ函数
  • ​520就是要宠粉,你的心头书我买单
  • #pragam once 和 #ifndef 预编译头
  • #Z2294. 打印树的直径
  • $.ajax()方法详解
  • (BFS)hdoj2377-Bus Pass
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (pytorch进阶之路)扩散概率模型
  • (办公)springboot配置aop处理请求.
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (蓝桥杯每日一题)love
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (十一)c52学习之旅-动态数码管
  • (循环依赖问题)学习spring的第九天
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • ***详解账号泄露:全球约1亿用户已泄露
  • .bashrc在哪里,alias妙用
  • .NET Core 2.1路线图
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现