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

成为AI产品经理——回归模型评估(MSE、RMSE、MAE、R方)

分类问题的评估是看实际类别和预测类别是否一致,它的评估指标主要有混淆矩阵、AUC、KS。回归问题的评估是看实际值和预测值是否一致,它的评估指标包括MAE、MSE、RMSE、R方。

如果我们预测第二天某支股票的价格,给一个模型 y=1.5x,x是最近60天股票的价格的平均值,y是预测的第二天股票的结果。我们选择三支股票,记录它过去60天的均价,以及模型预测出来的价格和实际的价格。

下面的图片是将过去60天股票均价作为X轴,将股票价格作为Y轴做出的散点图。

我们想要算出预测和实际结果的差异,最原本的方法是直接将每一个样本的预测值和实际值做差,再将所有的差值结果进行相加。

它们的差值情况分别为:22-12=10,40-24=16,26-36=-10。可以看到Z公司的差值为-10,它与其他的差值相加会造成抵消误差的情况,所以这种方法不合理。

为了避免差值相互抵消的情况,我们将差值的平方相加。

(22-12)^{2}+(40-24)^{2}+(26-36)^{2} = 456

这种计算误差的方式在会受到样本个数的影响,在样本比较少的情况下它的误差会比较小,样本比较多的话,误差会较大。为了避免这种情况的出现,我们将平方和计算出来的误差除以样本个数就可以不受样本个数的影响,这种计算误差的方式我们称为均方误差

一、MSE(均方误差)

MSE=\frac{1}{n}\sum_{i=1}^{n}\left(y_{i}-\hat{y}_{i}\right)^{2}

其中n:样本数量  y_{i}:表示实际值 \hat{y}_{i}:表示预测值

计算方式就是:样本的实际值和样本预测值差值的平方再除以样本数量。

这个值一定是大于等于0的,我们在评估的时候应该让这个值越小越好

二、RMSE(均方根误差)

在使用均方误差对于值取平方的时候,会导致量纲发生变化,比如:我们计算的是米,但是平方之后是平方米,为了保持量纲一致,我们再对它开方,也就是均方根误差

RMSE = \sqrt[2]{MSE}=\sqrt[2]{\frac{1}{n}\sum_{i=1}^{n}\left(y_{i}-\hat{y}_{i}\right)^{2}}

这个数值结果也是越小越好的。 

三、MAE(绝对平均值)

我们将差值取平方的原因是为了避免正负抵消操作,我们还可以使用差值取绝对值的方式来避免抵消,计算误差。

MAE = \frac{1}{n}\sum_{i=1}^n\left|y{i}-\hat{y}_{i}\right|

这个数值结果也是越小越好。 

四、R方

在模型预测过程中,我们可能会想用同一个模型解决不同得问题。由于预测样本不一致,最终的预测结果可能会随着量纲的差异上至几万,下至几百。为了避免这种情况的出现,将误差使用0-1的概率表示出来,我们使用R方的计算公式。

R^{2} = \frac{TSS-RSS}{TSS}

R^2是实际结果和预测值之间相关系数的平方。

TSS:表示总离差平方和。就是实际值和实际值均值的差值平方和。

RSS:表示残差平方和。实际值和预测值之间的差值平方和。

它的值一般在0-1的范围内,越靠近1,说明模型预测的越准确。 

我们继续使用上面股票预测的例子来说明这个R方的计算方法。

第一步:求实际值均值:\frac{22+40+26}{3}=29.3 

第二步:TSS=(22-29.3)^2+(40-29.3)^2+(26-29.3)^2 

第三步:RSS = (22-12)^2+(40-24)^2+(26-36)^2 

第四步:带入R^{2}公式,R^2 = \frac{TSS+RSS}{TSS} 

五、误差公式选择

均方误差会进行差值平方,有一个数据放大的过程。均方根误差虽然平方再开方,但是还是会比实际的误差大,所以我们一般想要更接近误差的数据,选择MAE。

对于算法工程师而言,将误差放大有利于他们发现误差。算法工程师一般会选择MSE和RMSE。

六、总结

1.想获得更加真实的误差结果选择MAE,想要找到更明确的误差选择MSE。

2.如果想要将一个模型应用解决不同的问题时,选择R^2可以看到模型在那个问题上表现得更好。

参考文献:刘海丰——《成为AI产品经理》 自用,请勿传播 

相关文章:

成为AI产品经理——回归模型评估(MSE、RMSE、MAE、R方)

分类问题的评估是看实际类别和预测类别是否一致,它的评估指标主要有混淆矩阵、AUC、KS。回归问题的评估是看实际值和预测值是否一致,它的评估指标包括MAE、MSE、RMSE、R方。 如果我们预测第二天某支股票的价格,给一个模型 y1.5x,…...

【C++11(一)】右值引用以及列表初始化

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C   🔝🔝 C11 1. 前言2. 统一的列表初始化3. initializer…...

通俗理解Jenkins是什么?

目录 通俗理解 Jenkins是什么? 通俗理解 假设你有一个软件项目,多个开发者在一起写代码。每当有人提交新的代码时,你想要自动地构建、测试这些代码,确保它们没有引入问题。 Jenkins就像一个聪明的助手,会在有人提交…...

格雷希尔帮助仪器仪表测试时快速密封的G60C系列接头其优势有哪些

仪器仪表在工业领域中扮演着重要的角色,如:压力表,压力传感器、压力变送器、压力开关、压力歧管等这些,在工业领域中都是随处可见的,其数据的精度直接影响着产品在生产过程中的质量和安全性;因此&#xff0…...

系统运维工具KSysAK——让运维回归简单

系统运维工具KSysAK——让运维回归简单 1.基本信息 1.1概述 系统异常定位分析工具KSysAK是云峦操作系统研发及运维人员总结开发及运维经验,设计和研发的多个运维工具的集合,可以覆盖系统的日常监控、线上问题诊断和系统故障修复等常见运维场景。 工具…...

NowCoder | KY11 二叉树遍历

NowCoder | KY11 二叉树遍历 OJ链接 简单来说就是构建这个二叉树定义结构体通过递归方式根据输入的字符串构建二叉树。对于输入字符串中的每个字符&#xff0c;如果是 ‘#’ 表示空节点&#xff0c;否则创建一个新节点&#xff0c;并递归地构建左右子树。 #include <limit…...

android.view.WindowLeaked解决方法

问题 我在使用WindowManager添加一个button&#xff0c; windowManager.addView(button,layoutParams);然后关闭当前的这个Activity的时候遇到了WindowLeak这个问题&#xff0c;也就是所谓的窗体泄露。 原因 主要原因是因为android只允许在UI主线程操作&#xff0c;我在使用W…...

浪潮信息KeyarchOS的飞跃之路

1.背景 在正式向大家介绍KOS之前&#xff0c;我们先关注这样一些问题。 传统操作系统在大规模数据处理、高性能计算和人工智能应用方面面临着一些瓶颈问题&#xff0c;包括存储和访问效率、数据传输和通信效率、并行计算性能等等问题。为了能够更好的改进这些问题&#xff0c…...

C++基础 -41- 迭代器

每个stl 模板接口都有一个专用的迭代器 迭代器就是 stl 库中的 一个特殊指针&#xff0c;功能与指针类似(类似但不是) 迭代器定义格式 迭代器的使用,使用迭代器遍历向量容器的参数 代码运行结果 无论使用普通方式还是迭代器方式去都可以遍历vector容器...

zookeeper心跳检测 (实操课程)

本系列是zookeeper相关的实操课程&#xff0c;课程测试环环相扣&#xff0c;请按照顺序阅读来学习和测试zookeeper。 阅读本文之前&#xff0c;请先阅读----​​​​​​zookeeper 单机伪集群搭建简单记录&#xff08;实操课程系列&#xff09;zookeeper 客户端常用命令简单记录…...

社区新零售:重塑零售业的全新模式

社区新零售&#xff1a;重塑零售业的全新模式 近年来&#xff0c;新零售业成为了研究的焦点&#xff0c;它是一种以互联网为基础的零售形式。新零售通过运用先进技术手段&#xff0c;如大数据和人工智能&#xff0c;对商品的生产、流通和销售过程进行升级改造&#xff0c;重新构…...

北京华联BHGMall“宠粉模式”不断迭代,强体验注互动成行业UP主

在今年双11热度遇冷后&#xff0c;双十二被官宣取消&#xff0c;而这背后本质已经间接印证&#xff1a;传统“电商大促”的模式&#xff0c;已经难以为继。反观线下消费市场&#xff0c;则是以持续恢复和增长成为经济恢复的亮点&#xff0c;从线下客流量的快速回升&#xff0c;…...

前端时间的失败总结复盘

分享失败经验&#xff0c;前段时间的总结复盘&#xff1a; 与伙伴合作面对异常决策要及时提出质疑&#xff0c;怼&#xff0c;别太客气&#xff0c;客气起来&#xff0c;小心翼翼在意他人情绪那么这个项目就会让人难受&#xff0c;不要因为因为伙伴身上有标签/光环/权威就觉得…...

Ribbon 负载均衡

1、负载均衡整体流程 2、负载均衡流程逐级跟踪运行 (1) LoadBlanced 注解可以使LoadBalancerInterceptor拦截到&#xff1b; (2)LoadBalancerInterceptor 实现了ClientHttpRequestInterceptor接口&#xff1b; (3)ClientHttpRequestInterceptor接口释义如下&#xff1b; (4)int…...

微服务实战系列之Cache(技巧篇)

前言 凡工具必带使用说明书&#xff0c;如不合理的使用&#xff0c;可能得到“意外收获”。这就好比每个人擅长的领域有所差异&#xff0c;如果放错了位置或用错了人&#xff0c;也一定会让 Leader 们陷入两难之地&#xff1a;“上无法肩负领导之重托&#xff0c;下难免失去伙伴…...

6.17验证二叉树(LC98-M)

算法&#xff1a; 中序遍历下&#xff0c;输出的二叉搜索树节点的数值是有序序列。 有了这个特性&#xff0c;验证二叉搜索树&#xff0c;就相当于变成了判断一个序列是不是递增的了。 具体地&#xff1a;中序遍历时&#xff0c;判断当前节点是否大于中序遍历的前一个节点&a…...

【Linux】编译器-gcc/g++与调试器-gdb的使用

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.gcc/g语法 2.gcc的使用及…...

Google Guava 散列工具使用详解

文章目录 散列哈希函数哈希码布隆过滤器 散列 Guava 提供了一组散列&#xff08;哈希&#xff09;相关的工具类和方法&#xff0c;包括哈希函数接口、哈希算法实现、哈希码&#xff08;HashCode&#xff09;类、布隆过滤器&#xff08;BloomFilter&#xff09;等等。 Guava 提…...

AIGC-文生视频

stable diffusion的前传&#xff1a; 轻松理解 VQ-VAE&#xff1a;首个提出 codebook 机制的生成模型 - 知乎近两年&#xff0c;有许多图像生成类任务的前沿工作都使用了一种叫做"codebook"的机制。追溯起来&#xff0c;codebook机制最早是在VQ-VAE论文中提出的。相比…...

java中Collectors.groupingBy返回实例?

在Java中&#xff0c;Collectors.groupingBy()是一个用于对流元素进行分组的收集器。它可以根据指定的分类函数对流元素进行分组&#xff0c;并返回一个Map对象&#xff0c;其中键是分组的标准&#xff0c;值是属于相应组的元素列表。 下面是一个使用Collectors.groupingBy()方…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...