深度学习评价指标(混淆矩阵、精确率、召回率、F1 score...)

devtools/2025/3/22 16:48:42/

混淆矩阵

混淆矩阵(Confusion Matrix)是在机器学习领域中用来评估分类算法性能的一种矩阵。它是一个二维矩阵,用于比较模型预测结果和实际标签之间的差异。混淆矩阵的行表示实际类别,列表示预测类别,矩阵的每个元素表示模型在测试集中将一个类别的样本预测为另一个类别的样本的数量。混淆矩阵通常用于计算分类模型的精确度、召回率和 F1 分数等性能指标。

真实值
预测值PositiveNegative
PositiveTPFP
NegativeFNTN

准确率(Accuracy)

准确率是指模型正确预测样本的比例,通常使用混淆矩阵(Confusion Matrix)来计算。准确率曲线是一个随着不同阈值变化的曲线。

精确率和召回率

精准率

精确率(Precision)衡量的是模型预测为正例的样本中,真正为正例的样本数量的比例。其计算公式为:

precision = \frac{TP}{TP + FP}

召回率

召回率(Recall)衡量的是模型能够正确预测为正例的样本数量占所有真正为正例的样本数量的比例。其计算公式为:

recall = \frac{TP}{ TP + FN}

精确率和召回率通常是一对相互影响的指标。在实际应用中,根据具体的任务需求选择更加重视精确率还是召回率。比如在垃圾邮件识别任务中,更关注减少误判的情况,可能更看重精确率;而在疾病诊断任务中,更关注尽可能找出所有患者,可能更看重召回率。精确率和召回率通常是一对相互影响的指标。在实际应用中,根据具体的任务需求选择更加重视精确率还是召回率。比如在垃圾邮件识别任务中,更关注减少误判的情况,可能更看重精确率;而在疾病诊断任务中,更关注尽可能找出所有患者,可能更看重召回率。

精确率-召回率曲线

精确率-召回率曲线(Precision-Recall Curve):精确率(Precision)是指模型在预测为正类别中有多少是真正的正类别,召回率(Recall)是指模型能够正确预测多少正类别样本。精确率-召回率曲线是以精确率为纵轴,召回率为横轴的曲线。

精确度-召回率曲线用于评估不平衡类别的分类模型性能。曲线下面积越大,说明模型性能越好;曲线向右上角凸起越多,说明模型在高召回率下保持较高的精确度。

F1 score

F1Score是一个评估分类模型性能的指标,它综合考虑了模型的精确度和召回率。F1Score是精确度和召回率的调和平均值,具体定义如下:

F1Score = \frac{2 \times Precision \times Recall}{Precision + Recall}

F1Score的取值范围在0到1之间,数值越接近1表示模型的性能越好。

在使用F1Score时,通常会结合Precision和Recall一起考虑,以全面评估模型的性能。F1Score可以作为评估分类模型效果的一个重要指标,在处理不均衡数据时尤其有用。

ROC曲线

ROC曲线(Receiver Operating Characteristic Curve):ROC曲线是以真正例率(True Positive Rate,召回率)为纵轴,假正例率(False Positive Rate)为横轴的曲线,用于评估二分类模型的性能,通常用于比较模型的性能。

曲线下面积(AUC)越接近1,说明模型性能越好;而AUC为0.5说明模型预测效果等同于随机猜测。

学习曲线

学习曲线(Learning Curve):学习曲线通常用于评估模型的偏差和方差。当训练集和验证集的表现曲线收敛并且两者之间的间隔较小时,说明模型的泛化能力较好;而如果训练集和验证集的表现曲线存在较大的间隔,可能表示模型存在过拟合。

残差图

残差图(Residual Plot):对于回归模型,可以通过绘制残差图来评估模型的拟合效果。残差图中随着预测值增大,残差是否呈现随机分布,可以帮助判断模型是否存在模式化误差。在回归分析中,我们通常会用回归模型来拟合一个因变量和一个或多个自变量之间的关系。残差即为每个数据点的观测值与回归模型的预测值之间的差异。

残差图的横轴通常表示实际的因变量值,纵轴表示残差值(观测值与预测值的差异)。通过观察残差图,我们可以判断模型的拟合是否存在系统性的误差,例如是否存在模型未能捕捉到的模式或结构。如果残差图中存在一些明显的模式,可能表明模型存在缺陷或需要进一步改进。在回归分析中,绘制残差图是一个常见的诊断工具,用于评估模型的准确性和假设是否满足。


http://www.ppmy.cn/devtools/169193.html

相关文章

前端面试:[React] scheduler 调度机制原理?

React Scheduler 是 React 16.8 引入的一种调度机制,旨在对高效渲染和复杂应用程序的性能进行优化。它允许 React 在空闲时间进行渲染,优先处理对用户体验最为重要的任务。以下是 Scheduler 调度机制的原理,以及它在实际工作中如何帮助管理渲…

工业数据驱动智能维护的深度调研报告

工业数据驱动智能维护的深度调研报告 一、工业数据现状与核心挑战 工业领域数据具有高价值但利用率低的特点。据统计,企业仅采集了56%的可用数据,剩余44%的振动、扭矩、PLC实时数据等未被有效采集。数据分散在PLC、SCADA、DCS等系统中,形成孤…

前端导出Excel终极方案:纯前端实现表格数据导出(兼容主流浏览器)

引言 在Web开发中,导出Excel功能是常见需求。传统方案通常需要后端配合生成文件,但今天我们将介绍一种纯前端实现方案,通过HTML模板Base64编码实现Excel导出,无需依赖后端服务。本文将详细解析代码实现原理,并提供可直…

go~协程阻塞分析

错误示例 type chanData struct {result stringerror error }func Biz1() {t : time.NewTimer(time.Second * 10)ctx : context.Background()ch : make(chan chanData)go doChan(ctx, ch)fmt.Println("Biz1 begin")for {select {case <-t.C:fmt.Println("B…

$.ajax的contentType设置及对应后端数据获取方式

在使用 jQuery 的 $.ajax 方法进行 HTTP 请求时&#xff0c;contentType 参数用于指定发送到服务器的数据的编码类型。常见的 contentType 设置包括 application/json 和 application/x-www-form-urlencoded; charsetUTF-8。以下是对这两种 contentType 的详细对比和说明&#…

网络编程之解除udp判断客户端是否断开

思路&#xff1a;每几秒发送一条不显示的信息&#xff0c;客户端断开则不再发送信息&#xff0c;超时则表示客户端断开连接。&#xff08;心跳包&#xff09; 服务器 #include <head.h>#define MAX_CLIENTS 100 // 最大支持100个客户端 #define TIMEOUT 5 // 5秒…

深入理解Java虚拟机(学习笔记)

什么是JVM&#xff1f; 定义&#xff1a;Java Virtual Machine-java程序运行环境&#xff08;java二进制字节码运行环境&#xff09; 好处&#xff1a; 一次编写&#xff0c;到处运行。自动内存管理&#xff0c;垃圾回收功能数组下标越界检查多态 比较&#xff1a;JDK JRE J…

接收与发送ipv6数据包

一、ipv6的概念 IPv6 是英文 “Internet Protocol Version 6”&#xff08;互联网协议第 6 版&#xff09;的缩写&#xff0c;是互联网工程任务组&#xff08;IETF&#xff09;设计的用于替代 IPv4 的下一代 IP 协议&#xff0c;其地址数量号称可以为全世界的每一粒沙子编上…