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

机器学习中核心评估指标(准确率、精确率、召回率、F1分数)

混淆矩阵

混淆矩阵是一个表格,用于总结分类模型在测试集上的预测结果,特别是当真实标签已知时。它将预测结果分为四种情况(记忆:实际和预测一致为True,预测为正是Positive):

  • 真正例: 实际为正类,预测也为正类 (True Positive, TP)

  • 假正例: 实际为负类,但预测为正类 (False Positive, FP

  • 假反例: 实际为正类,但预测为负类 (False Negative, FN

  • 真反例: 实际为负类,预测也为负类 (True Negative, TN)

真实标签 \ 预测标签正类 (Positive)负类 (Negative)
正类 (Positive)TPFN
负类 (Negative)FPTN

 准确率(Accuracy)

  • 定义: 模型预测正确(TP+TN)的样本数占总样本数(TP+FP+FN+TN)的比例。最直观的指标。

  • 计算公式:
    Accuracy = (TP + TN) / (TP + FP + FN + TN)

  • 意义:

    • 衡量模型整体预测正确的比例。

    • 优点: 简单易懂。

    • 缺点: 在数据不平衡时容易产生误导。例如,在疾病检测中,健康人(负类)占99%,病人(正类)占1%。一个将所有样本都预测为健康的模型,准确率也能达到99%,但这个模型对于检测病人是完全无效的。此时需要更细致的指标。

  • 适用场景: 当正负类样本比例大致相同时,准确率是一个合理的指标。

精确率(Precision)

  • 定义: 在模型预测为正类(TP+FP)的样本中,实际也是正类(TP)的样本所占的比例。衡量预测的“精准度”或“可靠性”。

  • 计算公式:
    Precision = TP / (TP + FP)

  • 意义:

    • 关注的是预测结果的质量。高精确率意味着模型预测为正类的样本中,误报(FP)的比例低。

    • 核心问题: 当模型说某个样本是正类时,这个判断有多可信?

  • 适用场景: 当需要尽量减少“假警报”或“误报”时非常重要。

    • 垃圾邮件检测: 将正常邮件误判为垃圾邮件(FP)很糟糕。需要高精确率,确保标记为垃圾邮件的邮件确实是垃圾邮件。

    • 推荐系统: 向用户推荐的商品,希望推荐列表中的商品用户确实感兴趣(高TP),避免推荐不相关的商品(低FP)。

 召回率(Recall)

  • 定义: 在实际为正类(TP+FN)的样本中,被模型正确预测为正类(TP)的样本所占的比例。衡量模型的“查全率”或“覆盖度”。

  • 计算公式:
    Recall = TP / (TP + FN)

  • 意义:

    • 关注的是模型找出所有正类样本的能力。高召回率意味着模型漏报(FN)的比例低。

    • 核心问题: 在所有实际的正类样本中,模型成功找出了多少?

  • 适用场景: 当需要尽量减少“漏检”或“错过”正类样本时非常重要。

    • 疾病诊断: 漏掉一个真正的病人(FN)后果可能很严重。需要高召回率,尽可能找出所有患病者。

    • 欺诈检测: 漏掉一个欺诈交易(FN)会导致损失。需要高召回率,尽可能识别出所有欺诈行为。

    • 信息检索: 希望搜索引擎返回的结果尽可能包含所有相关的文档(高TP),避免遗漏(FN)。

F1 分数(F1 Score)

  • 定义: 精确率召回率调和平均数(倒数平均数:总体各统计变量倒数算术平均数倒数。旨在用一个分数综合反映模型的精确率和召回率。1/((1/Precision+1/Recall)/2).

  • 计算公式:
    F1 Score = 2 * (Precision * Recall) / (Precision + Recall)

    • 调和平均数的特点:更重视较小值。只有当精确率和召回率都高时,F1分数才会高。

  • 意义:

    • 提供一个在精确率和召回率之间取得平衡的单一指标。

    • 特别适用于数据不平衡的情况,或者当同时关注精确率和召回率且需要找到一个折中点时。

    • 比简单的算术平均更能反映模型的整体性能(当精确率和召回率差异较大时)。

  • 适用场景:

    • 当需要同时考虑精确率和召回率,且没有明确偏向哪一个更重要时。

    • 评估在不平衡数据集上模型的综合性能。

    • 比较不同模型时的一个常用综合指标。

http://www.dtcms.com/a/290500.html

相关文章:

  • Node.js的Transform 流
  • iOS打开开发者模式
  • STM32与树莓派通信
  • Elasticsearch、Solr 与 OpenSearch 搜索引擎方案对比分析及选型建议
  • 二分查找-35.搜索插入位置-力扣(LeetCode)
  • 基于NSD8389评估板快速测试电子膨胀阀
  • 「日拱一码」034 机器学习——插值处理
  • FreeSwitch通过Websocket(流式双向语音)对接AI实时语音大模型技术方案(mod_ppy_aduio_stream)
  • 优测发布IoT云联解决方案,赋能生态应用创新跨端体验!
  • 智慧水厂怎么建?物联网数据采集+SCADA升级,水务工业智能转型
  • 蜂窝物联网模组市场新展望:中国企业继续保持最强竞争力
  • Netty中AbstractReferenceCountedByteBuf源码解析
  • 康复器材动静态性能测试台:精准检测,为康复器械安全保驾护航
  • 【Android】交叉编译faiss库 | 问题解决
  • jdk25浅谈
  • 亚马逊自养号测评实战指南:从环境搭建到安全提排名
  • 智能合约安全 - 重入攻击 - 常见漏洞(第一篇)
  • 电科金仓2025发布会,国产数据库的AI融合进化与智领未来
  • A316-Mini-V1:超小尺寸USB高清音频解码器模组技术探析
  • Sequential 损失函数 反向传播 优化器 模型的使用修改保存加载
  • 20250721
  • A316-1926-V1 USB多路高清音频解码器模组技术解析
  • 番茄工作法
  • 在幸狐RV1106板子上用gcc14.2本地编译安装mysql-8.0.42数据库
  • 【高等数学】第五章 定积分——第一节 定积分的概念与性质
  • C++学习<2>--引用、函数、内存分区
  • 数据结构-哈希表(一)哈希函数、哈希表介绍、优缺点
  • 计算机发展史:个人计算机时代的多元融合与变革
  • 【ASP.NET Core】ASP.NET Core中Redis分布式缓存的应用
  • 进程资源分配的安全性判断与安全序列