机器学习中常用的评价指标

news2025/2/9 23:31:34

一、分类任务常用指标

1. 准确率(Accuracy)
  • 定义:正确预测样本数占总样本数的比例。
  • 优点:直观易懂,适用于类别平衡的数据。
  • 缺点:对类别不平衡数据敏感(如欺诈检测中99%的负样本)。
  • 应用场景:类别分布均匀的简单分类任务(如手写数字识别)。
2. 精确率(Precision)与召回率(Recall)
  • 定义
    • 精确率 = TP / (TP + FP)(预测为正的样本中实际为正的比例)。
    • 召回率 = TP / (TP + FN)(实际为正的样本中被正确预测的比例)。
  • 优点
    • 精确率关注减少假阳性(如垃圾邮件检测)。
    • 召回率关注减少假阴性(如癌症筛查)。
  • 缺点:二者通常存在权衡(Trade-off)。
  • 应用场景
    • 精确率:对误报敏感的任务(如推荐系统)。
    • 召回率:对漏检敏感的任务(如医疗诊断)。
3. F1 Score
  • 定义:精确率和召回率的调和平均(F1 = 2 * (Precision*Recall)/(Precision+Recall))。
  • 优点:综合平衡精确率和召回率,适用于类别不平衡数据。
  • 缺点:假设精确率和召回率同等重要,不适用于多分类的复杂场景。
  • 应用场景:需要平衡假阳性和假阴性的任务(如异常检测)。
4. ROC-AUC
  • 定义:ROC曲线下面积,反映模型在不同阈值下的分类性能。
  • 优点
    • 对类别不平衡不敏感。
    • 反映模型的整体排序能力。
  • 缺点:计算复杂度高,对类别均衡的简单任务可能不如F1直观。
  • 应用场景:需要全面评估分类性能的场景(如广告点击率预测)。

二、回归任务常用指标

1. 均方误差(MSE)
  • 定义:预测值与真实值差的平方的平均值。
  • 优点:对异常值敏感,惩罚大误差。
  • 缺点:量纲不直观(平方单位)。
  • 应用场景:需要强调大误差的任务(如房价预测)。
2. 平均绝对误差(MAE)
  • 定义:预测值与真实值绝对差的平均值。
  • 优点:量纲直观,对异常值鲁棒。
  • 缺点:无法反映误差方向。
  • 应用场景:需要稳健评估的任务(如库存需求预测)。
3. R²(决定系数)
  • 定义:模型解释的方差占数据总方差的比例。
  • 优点:无量纲,可横向比较不同模型。
  • 缺点:对过拟合敏感。
  • 应用场景:解释模型对数据的拟合程度(如科学实验建模)。

三、深度学习特定任务指标

1. IoU(交并比)
  • 定义:预测区域与真实区域交集面积占并集面积的比例。
  • 优点:直观衡量分割或检测的定位精度。
  • 缺点:对边界敏感,无法反映类别重要性。
  • 应用场景:图像分割、目标检测(如自动驾驶中的障碍物识别)。
2. BLEU(双语评估替补)
  • 定义:通过n-gram匹配评估机器翻译结果与参考译文的相似度。
  • 优点:快速计算,适用于大规模文本生成。
  • 缺点:忽略语义和语法结构,对短文本不敏感。
  • 应用场景:机器翻译、文本摘要。
3. 困惑度(Perplexity)
  • 定义:模型对测试数据概率分布的逆几何平均。
  • 优点:直接反映语言模型的预测能力。
  • 缺点:依赖训练数据分布,无法反映生成文本的多样性。
  • 应用场景:语言模型评估(如GPT系列模型)。

四、选型建议

  • 类别不平衡:优先选择F1、AUC、PR-AUC。
  • 异常值敏感:MAE优于MSE。
  • 多目标优化:结合多个指标(如目标检测中的mAP)。
  • 生成任务:BLEU、ROUGE、CIDEr结合人工评估。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2295528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Golang学习之旅】Go + MySQL 数据库操作详解

文章目录 前言1. GORM简介2. 安装GORM并连接MySQL2.1 安装GORM和MySQL驱动2.2 连接MySQL 3. GORM数据模型(Model)3.1 定义User结构体3.2 自动迁移(AutoMigrate) 4. GORM CRUD 操作4.1 插入数据(Create)4.2 …

ArgoCD实战指南:GitOps驱动下的Kubernetes自动化部署与Helm/Kustomize集成

摘要 ArgoCD 是一种 GitOps 持续交付工具,专为 Kubernetes 设计。它能够自动同步 Git 仓库中的声明性配置,并将其应用到 Kubernetes 集群中。本文将介绍 ArgoCD 的架构、安装步骤,以及如何结合 Helm 和 Kustomize 进行 Kubernetes 自动化部署。 引言 为什么选择 ArgoCD?…

每日Attention学习22——Inverted Residual RWKV

模块出处 [arXiv 25] [link] [code] RWKV-UNet: Improving UNet with Long-Range Cooperation for Effective Medical Image Segmentation 模块名称 Inverted Residual RWKV (IR-RWKV) 模块作用 用于vision的RWKV结构 模块结构 模块代码 注:cpp扩展请参考作者原…

机器学习之数学基础:线性代数、微积分、概率论 | PyTorch 深度学习实战

前一篇文章,使用线性回归模型逼近目标模型 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 本篇文章内容来自于 强化学习必修课:引领人工智能新时代【梗直哥瞿炜】 线性代数、微积分、概率论 …

UNI-MOL: A UNIVERSAL 3D MOLECULAR REPRESENTATION LEARNING FRAMEWORK

UNI-MOL: A UNIVERSAL 3D MOLECULAR REPRESENTATION LEARNING FRAMEWORK Neurips23 推荐指数:#paper/⭐⭐⭐#​(工作量不小) 动机 在大多数分子表征学习方法中,分子被视为 1D 顺序标记或2D 拓扑图,这限制了它们为下游任务整合…

SQL Server查询计划操作符(7.3)——查询计划相关操作符(6)

7.3. 查询计划相关操作符 48)Key Lookup:该操作符对一个有簇索引的表进行书签查找。参数列包含簇索引的名字和用于查找簇索引中数据行的簇键。该操作符总是伴随一个Nested Loops操作符。如果其参数列中出现WITH PREFETCH子句,则查询处理器已决定使用异步预取(预读,read-ah…

C语言【基础篇】之数组——解锁多维与动态数组的编程奥秘

数组 🚀前言🦜数组的由来与用途🌟一维数组详解🖊️二维数组进阶💯动态数组原理🤔常见误区扫盲💻学习路径建议✍️总结 🚀前言 大家好!我是 EnigmaCoder。本文收录于我的专…

掌握API和控制点(从Java到JNI接口)_38 JNI从C调用Java函数 01

1. Why? 将控制点下移到下C/C层 对古典视角的反思 App接近User,所以App在整体架构里,是主导者,拥有控制权。所以, App是架构的控制点所在。Java函数调用C/C层函数,是合理的。 但是EIT造形告诉我们: App…

windows蓝牙驱动开发-蓝牙 LE 邻近感应配置文件

邻近感应检测是蓝牙低功耗 (LE) 的常见用途。 本部分提供了创建可用于开发 UWP 设备应用的邻近感应配置文件的设备实现的指南。 在开发此应用之前,应熟悉蓝牙 LE 函数和蓝牙 LE 邻近感应配置文件规范。 示例服务声明 蓝牙低功耗引入了一个新的物理层,…

免费windows pdf编辑工具Epdf

Epdf(完全免费) 作者:不染心 时间:2025/2/6 Github: https://github.com/dog-tired/Epdf Epdf Epdf 是一款使用 Rust 编写的 PDF 编辑器,目前仍在开发中。它提供了一系列实用的命令行选项,方便用户对 PDF …

C++:类和对象初识

C:类和对象初识 前言类的引入与定义引入定义类的两种定义方法1. 声明和定义全部放在类体中2. 声明和定义分离式 类的成员变量命名规则 类的访问限定符及封装访问限定符封装 类的作用域与实例化类的作用域类实例化实例化方式: 类对象模型类对象的大小存储…

伪分布式Spark3.4.4安装

参考:Spark2.1.0入门:Spark的安装和使用_厦大数据库实验室博客 我的版本: hadoop 3.1.3 hbase 2.2.2 java openjdk version "1.8.0_432" 问了chatgpt,建议下载Spark3.4.4,不适合下载Spark 2.1.0: step1 Spark下载…

kafka服务端之控制器

文章目录 概述控制器的选举与故障恢复控制器的选举故障恢复 优雅关闭分区leader的选举 概述 在Kafka集群中会有一个或多个broker,其中有一个broker会被选举为控制器(Kafka Controler),它负责管理整个集群中所有分区和副本的状态。…

【R语言】数据分析

一、描述性统计量 借助R语言内置的airquality数据集进行简单地演示: 1、集中趋势:均值和中位数 head(airquality) # 求集中趋势 mean(airquality$Ozone, na.rmT) # 求均值 median(airquality$Ozone, na.rmT) # 求中位数 2、众数 众数(mod…

传输层协议 UDP 与 TCP

🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 一:🔥 前置复盘🦋 传输层🦋 再谈端口号🦋 端口号范围划分🦋 认识知名端口号 (Well-Know Port Number) 二&#xf…

Java/Kotlin双语革命性ORM框架Jimmer(一)——介绍与简单使用

概览 Jimmer是一个Java/Kotlin双语框架 包含一个革命性的ORM 以此ORM为基础打造了一套综合性方案解决方案,包括 DTO语言 更全面更强大的缓存机制,以及高度自动化的缓存一致性 更强大客户端文档和代码生成能力,包括Jimmer独创的远程异常 …

剪辑学习整理

文章目录 1. 剪辑介绍 1. 剪辑介绍 剪辑可以干什么?剪辑分为哪些种类? https://www.bilibili.com/video/BV15r421p7aF/?spm_id_from333.337.search-card.all.click&vd_source5534adbd427e3b01c725714cd93961af 学完剪辑之后如何找工作or兼职&#…

IDEA查看项目依赖包及其版本

一.IDEA将现有项目转换为Maven项目 在IntelliJ IDEA中,将现有项目转换为Maven项目是一个常见的需求,可以通过几种不同的方法来实现。Maven是一个强大的构建工具,它可以帮助自动化项目的构建过程,管理依赖关系,以及其他许多方面。 添加Maven支持 如果你的项目还没有pom.xm…

centos虚拟机迁移没有ip的问题

故事背景,我们的centos虚拟机本来是好好的,但是拷贝到其他电脑上就不能分配ip,我个人觉得这个vmware他们软件应该搞定这个啊,因为这个问题是每次都会出现的。 网络选桥接 网络启动失败 service network restart Restarting netw…

Java 大视界 -- Java 大数据在智能供应链中的应用与优化(76)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…