【Sklearn驯化-回归指标】一文搞懂机器学习中回归算法评估指标:mae、rmse等

【Sklearn驯化-回归指标】一文搞懂机器学习中回归算法评估指标:mae、rmse等
 
本次修炼方法请往下查看
在这里插入图片描述

🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地!
🎇 免费获取相关内容文档关注:微信公众号,发送 pandas 即可获取
🎇 相关内容视频讲解 B站

🎓 博主简介:AI算法驯化师,混迹多个大厂搜索、推荐、广告、数据分析、数据挖掘岗位 个人申请专利40+,熟练掌握机器、深度学习等各类应用算法原理和项目实战经验

🔧 技术专长: 在机器学习、搜索、广告、推荐、CV、NLP、多模态、数据分析等算法相关领域有丰富的项目实战经验。已累计为求职、科研、学习等需求提供近千次有偿|无偿定制化服务,助力多位小伙伴在学习、求职、工作上少走弯路、提高效率,近一年好评率100%

📝 博客风采: 积极分享关于机器学习、深度学习、数据分析、NLP、PyTorch、Python、Linux、工作、项目总结相关的实用内容。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🌵文章目录🌵

    • 🎯 1. 基本介绍
    • 💡 2. 指标介绍
      • 2.1 MAE:平均绝对误差
      • 2.2 MSE:均方误差
      • 2.2 RMSE:均方误差
      • 2.3 MAPE:平均绝对百分比误差
      • 2.4 SMAPE:平均绝对百分比误差
      • 2.5 WMAPE:加权的百分比误差
      • 2.6 决定系数(R-squared, R²)
    • 🔍 3. 代码实践
      • 3.1 导入库和准备数据
      • 3.2 训练回归模型
      • 3.2 指标计算
    • 🔍 4. 注意事项
    • 🔍 5. 总结

下滑查看解决方法

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  

🎯 1. 基本介绍

  回归分析是统计学中用于估计变量之间关系的一种方法。在机器学习中,回归模型用于预测连续的输出值。scikit-learn(简称sklearn)提供了多种回归指标来评估模型的预测性能。

💡 2. 指标介绍

2.1 MAE:平均绝对误差

  mae是回归模型中常用的评估指标之一。它用于衡量模型预测结果与真实值之间的平均绝对差异程度,即平均预测误差的绝对值。计算MAE的公式如下:
L = 1 m ∑ i = 1 m ∣ y i − y ^ i ∣ L=\frac{1}{m}\sum_{i=1}^{m}|y_i - \hat{y}_i| L=m1i=1myiy^i
  MAE的值越小,表示模型的预测能力越好。它具有对异常值不敏感的特点,适用于对预测结果的平均误差情况进行评估。在sklearn中,可以使用mean_absolute_error函数来计算MAE。

2.2 MSE:均方误差

  它用于衡量模型预测结果与真实值之间的均方差,即平均预测误差的平方
L = 1 m ∑ i = 1 m ( y i − y ^ ) 2 L=\frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y})^2 L=m1i=1m(yiy^)2
   该方法会放大预测值偏大的,对异常值比较敏感,MSE的值越小,表示模型的预测能力越好。它在某些情况下比均绝对误差(MAE)更敏感,因为它对预测值与真实值之间的较大误差进行了平方处理。但是MSE的值的量纲是原始数据平方,可能不易于直观理解。

2.2 RMSE:均方误差

  均方根误差是MSE的平方根,它与原始数据具有相同的单位。
L = 1 m ∑ i = 1 m ( y i − y ^ ) 2 L=\sqrt{\frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y})^2} L=m1i=1m(yiy^)2
  因为使用的是平均误差,而平均误差对异常点较敏感,如果回归器对某个点的回归值很不合理,那么它的误差则比较大,从而会对RMSE的值有较大影响,即平均值是非鲁棒的。

2.3 MAPE:平均绝对百分比误差

  
L = 1 n ∑ i = 1 m ∣ y i − y ^ i y i ∣ L=\frac{1}{n}\sum_{i=1}^{m}|\frac{y_i-\hat{y}_i}{y_i}| L=n1i=1myiyiy^i

评价的是相对于真实值的误差比例,但是有一个问题就是,如果真实值为0的话,该评价指标无效
如果预测值小于真实值(低估),如果大于(高估)
低估: 此时, 即上界为100;
高估: 此时, 即上界为无穷大.
由于高估会带来较大惩罚, 为了最小化MAPE值, 算法会倾向低估, 从而导致预测的销量偏低.

2.4 SMAPE:平均绝对百分比误差

  该方法可以处理掉真实值为0的情况,但是如果预测值也为0的话就会有问题
L = 1 n ∑ i = 1 m ∣ y i − y ^ i ∣ ∣ y i ∣ + ∣ y i ^ ∣ L=\frac{1}{n}\sum_{i=1}^{m}\frac{|y_i-\hat{y}_i|}{|y_i|+|\hat{y_i}|} L=n1i=1myi+yi^yiy^i

在实际的销量预测中, 由于销量的上界通常是有限的(通过经验可以预估), 因而即使出现"高估"的情形, 预测销量一般不会超过实际销量的常数倍(例如不超过10倍). 从这个角度来看, 高估时误差的上界一般低于低估时对应的上界. 换句话说, 低估带来的惩罚比高估大. 因此如果使用SMAPE作为误差指标, 其预测销量一般会高于实际销量.

2.5 WMAPE:加权的百分比误差

  该方法的好处就是可以处理mape这个问题:例如一件卖了10件的商品预测值在5-15之间和卖了5000件的商品预测在4955-5005的贡献的mape是一样的,但显然两个预测的准确度差异巨大。该方法给销量的商品更大的权重。
L = ∑ n ∣ y i − y ^ i ∣ ∑ n y i L=\frac{\sum_{n}|y_i - \hat{y}_i|}{\sum_{n}y_i} L=nyinyiy^i

2.6 决定系数(R-squared, R²)

  决定系数衡量模型捕捉数据可变性的程度。具体的公式如下所示:
r 2 = ∑ i = 1 n ( y i − y i ′ ) 2 ∑ i = 1 n ( y i − y 平均 ) 2 r^2=\frac{\sum_{i=1}^{n}(y_i-y'_i)^2}{\sum_{i=1}^{n}(y_i-y平均)^2} r2=i=1n(yiy平均)2i=1n(yiyi)2

🔍 3. 代码实践

3.1 导入库和准备数据

   下面我们对相关的公式进行构造数据,并通过代码对其进行实践操作,具体的代码如下所示:

from sklearn.metrics import mean_squared_error, r2_score
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import make_regression

# 生成模拟回归数据
X, y = make_regression(n_samples=100, n_features=1, noise=0.4, random_state=42)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

3.2 训练回归模型

   为了能够更加清晰的看出来各个指标的效果,我们训练一个回归模型然后来看各个指标之间的差异性,具体的代码如下所示:

# 创建线性回归模型并训练
model = LinearRegression()
model.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = model.predict(X_test)

3.2 指标计算

   下面我们根据预测和真实值之间的差异性来计算回归模型的指标,具体的代码如下所示:

# 计算MSE和RMSE
mse = mean_squared_error(y_test, y_pred)
rmse = mse ** 0.5

print(f"均方误差: {mse:.2f}")
print(f"均方根误差: {rmse:.2f}")

# 计算R-squared
r2 = r2_score(y_test, y_pred)
print(f"决定系数: {r2:.2f}")

  

🔍 4. 注意事项

  • 回归指标的选择应基于模型的目标和数据的特性。
  • MSE和RMSE对异常值敏感,如果数据中包含异常值,可能需要考虑使用其他指标。
  • R-squared虽然直观,但增加变量时可能会产生误导,考虑使用调整R-squared。

🔍 5. 总结

  回归指标是评估回归模型预测性能的重要工具。scikit-learn提供了多种指标,包括MSE、RMSE和R-squared,帮助我们量化模型的准确性和有效性。通过本博客的代码示例,我们学习了这些指标的计算方法和实际应用。希望这篇博客能够帮助你更好地理解sklearn中的回归指标,并将其应用于实际的回归分析中。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大学计算机

项目一 了解计算机 1.1 了解计算机的诞生及发展阶段 1.2 认识计算机的特点、应用和分类 1.计算机的特点 1. 计算机的特点 2.计算机的应用 3.计算机的分类 4.数量单位 1.3 了解计算机操作系统的概念、功能与种类 1.操作系统概念 2.操作系统的作用 1&#xff0e…

Linux 中变量的取用与设定

优质博文:IT-BLOG-CN Linux是一个多人多任务的环境,每个人登录系统都能取得一个bash shell,每个人都能够使用bash下达mail这个指令来接收自己的邮箱等等。问题是,bash如何得知你的邮箱是那个文件?这就需要『变量』的帮…

jmeter性能测试

一.jmeter基本使用 1.元件执行顺序 配置元件; 前置处理器; 定时器; sampler; 后置处理器;(关联,正则表达式提取器) 断言; 监听;(不涉及顺序&…

Windows 电脑类别怎么区分?不同类别区分总结

电脑类别 Windows 电脑的类别有哪些?我们可以大致分为这三类:CopilotPC、AI PC、普通 PC。下面就来看看这些电脑类别的区别。 普通 PC 普通 PC 就是指那些标准的台式电脑或者笔记本电脑,它们是由中央处理器(CPU)以及…

【面试题】信息安全风险评估要做些什么

信息安全风险评估是识别、评估和管理信息系统中潜在风险的重要过程。它具有以下几个关键步骤: 1.资产识别: 确定需要保护的信息资产,如硬件、软件、数据、人员等。例如,企业的客户数据库、重要的业务文档等。 2.威胁评估&#…

手把手教你打造高精度STM32数字时钟,超详细步骤解析

STM32数字时钟项目详解 1. 项目概述 STM32数字时钟是一个集成了时间显示、闹钟功能、温湿度检测等多功能于一体的小型电子设备。它利用STM32的实时时钟(RTC)功能作为核心,配合LCD显示屏、按键输入、温湿度传感器等外设,实现了一个功能丰富的数字时钟系统。 2. 硬件组成 STM…

文献解读-基因编辑-第十二期|《CRISPR-detector:快速、准确地检测、可视化和注释基因组编辑事件引起的全基因组范围突变》

关键词:基因组变异检测;全基因组测序;基因编辑; 文献简介 标题(英文):CRISPR-detector: fast and accurate detection, visualization, and annotation of genome-wide mutations induced by g…

做外贸有些事说早了,未必是好事

如果说能说话,其实谁也会,但是能把话说好却并不是一个简单的事,而且说话的时机往往也影响着事情的结局和走向, 所以才有了老人常提起的那句话:三岁学说话,一生学闭嘴。 最近我又因为图省事而犯了一个错误&…

云通SIPX,您的码号资源智能调度专家!

在数字化转型的浪潮中,号码资源作为企业与客户沟通的重要桥梁,其管理效率直接关系到企业运营的成败。随着运营商对号码资源管理的规范化和精细化,企业对高效、智能的号码资源管理需求日益增长,以实现对外呼叫的降本增效。 一、什么…

JAVA编程题期末题库【中】

8.计算邮资 程序代码: public static void main(String[] args) {// 计算邮资//if多分支语句//创建对象java.util.Scanner inputnew java.util.Scanner(System.in); //提示输入用户,输入邮件的重量System.out.println("邮件的重量:");int wei…

VMware ESXi 8.0U2c macOS Unlocker OEM BIOS Huawei (华为) FusionServer 定制版

VMware ESXi 8.0U2c macOS Unlocker & OEM BIOS Huawei (华为) FusionServer 定制版 ESXi 8.0U2 标准版,Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科)、Hitachi (日立)、Fujitsu (富士通)、NEC (日电)、Huawei (华为)、xFusion (超聚…

小型智能驱鸟器,建筑驱鸟专用

随着城市化进程的加快,鸟类与人类的居住空间逐渐交织重合,鸟类对建筑物的侵扰问题也愈发凸显。家庭庭院、住宅窗前、屋顶,甚至那些承载着历史与文化底蕴的名胜古迹和精美雕像,都时常受到鸟粪的污染。鸟粪具有腐蚀性且很难清理&…

智能疏散指示系统为什么是验收的必然考核标准?哪些厂家具备资质

智能疏散系统需要什么?现阶段,随着我国经济不断发展趋势的加快,住宅建筑具有复杂的特点。近年来,我国高层住宅、大中型建筑、综合性公共建筑越来越多。随着这座现代建筑的进步,我发现这种类型的建筑在发生火灾或事故时…

【高级篇】主从复制与高可用性:构建坚若磐石的数据库基础设施(十二)

引言 在上一章《备份与恢复》中,我们深入探讨了如何通过各种备份策略和恢复技术,确保数据的安全性和业务的连续性。然而,为了应对更大规模的业务挑战和灾难恢复需求,仅仅依靠备份是不够的。本章,我们将聚焦于MySQL的主从复制与高可用性技术,从原理到实践,从配置到优化,…

程序猿大战Python——Python与MySQL交互一

pymysql模块的安装 目标:了解如何安装pymysql模块? 当要使用Python和MySQL数据库进行交互,需要借助一个第三方模块:pymysql。 在使用pymysql模块前,先进行安装: pip install pymysql 有时使用pip instal…

iptables(11)target(SNAT、DNAT、MASQUERADE、REDIRECT)

简介 前面我们已经介绍了ACCEPT、DROP、REJECT、LOG,这篇文章我们介绍SNAT、DNAT、MASQUERADE、REDIRECT,这几个参数的定义我们在上篇文章中都有介绍,我这里再列出回顾一下 DNAT(目标地址转换)和 SNAT(源地址转换) 原理:修改数据包的源或目标 IP 地址。通常用于 NAT(…

制造业“智改数转”背景下,产品经理考取NPDP证书的重要性

在“智改数转”(智能化改造和数字化转型)已成为推动制造业高质量发展的关键路径背景下,作为连接市场需求与产品实现的关键角色,产品经理的角色愈发重要。而考取NPDP(新产品开发专业人士认证)证书&#xff0…

VBA 进度条(2)

1.前提 1-1. 在VBA编辑器找到工具-引用-勾选MicroSoft Visual Basic for Applications Extensibility Library 1-2. 信任中心 -> 宏设置 -> 开发人员宏设置 -> 选中“信任对VBA工程对象模型的访问” 2.类模块 Private objApp As Object Private u…

Mysql进阶-索引-使用规则-索引失效情况二(or连接的条件、数据分布影响)

文章目录 1、or连接的条件1.1、展示 tb_user 索引1.2、查询 id10 or age231.3、执行计划 id10 or age231.4、给 age 创建 索引1.4、执行计划 phone17799990004 or age23 2、数据分布影响2.1、查询 tb_user2.2、查询 phone >177999900202.3、执行计划 phone >177999900202…

Java 自定义jackson2序列化器遇到的问题

问题1:java: 错误: 不支持发行版本 5 修改idea java环境 问题2:ClassNotFoundException: com.fasterxml.jackson.annotation.JsonMerge 缺少 jar 包:jackson-annotations 引入依赖的地址:https://mvnrepository.com/artifact/c…