【机器学习】衡量线性回归算法最好的指标:R Squared
衡量线性回归算法最好的指标:R Squared
- 一、摘要
- 二、回归算法评价指标与R Squared指标介绍
- 三、R Squared的编程实践
一、摘要
本文主要介绍了线性回归算法中用于衡量模型优劣的重要指标——R Squared(R方)。R方用于比较模型预测结果与实际结果的拟合程度,其值范围在0到1之间,越接近1表示模型预测效果越好。R方的计算涉及预测误差与总误差的比较,其中分子为预测误差的平方和,分母为总误差的平方和。当R方等于1时,表示模型预测无误差;小于零则表明模型效果不佳,可能不适合线性回归。 此外,还介绍了如何通过编程实践计算R方值,并在不同的机器学习库中实现该指标的计算。最后,强调了R方作为衡量线性回归模型性能的关键指标的重要性。
二、回归算法评价指标与R Squared指标介绍
-
之前的博文中介绍了评价回归算法优劣的三个指标:MSE(均方误差)、RMSE(均方根误差)和MAE(平均绝对误差)。这些指标存在的问题:
无法直接比较不同问题的预测误差。分类问题的评价指标简单明了,取值在0到1之间,而回归算法的指标没有这样的性质。 -
R Squared(R方) 是一个解决上述问题的新指标。
计算方法:1减去两个量的比值,分子是残差平方和,分母是总平方和。

- R方计算步骤:计算残差平方和与总平方和,代入公式计算R方值。
- 残差平方和:
预测结果减去真实值的平方和。 - 总平方和:
真实值与均值差的平方和。
R Squared的优势:
- R方将回归问题的衡量结果归约到0到1之间,便于比较不同模型的性能。
- R方越大越好,越接近1表示模型预测越准确。
- R方小于零表示模型预测效果不如基准模型。
- 可能意味着数据间不存在线性关系,需要考虑其他回归方法。
R Squared的统计意义:
- R方可以表示为1减去均方误差(MSE)与方差的比值。
- 均方误差:预测结果与真实值的平方差均值。
- 方差:真实值的方差。
- R方衡量模型与基准模型的差异,值越大表示模型预测越准确。



最后这张图将公式的含义是:1 - (MSE(均方误差)/ Var(方差)
三、R Squared的编程实践
- 计算R方的编程实践:使用NumPy、SciPy或sklearn等库进行计算。
- 示例代码:计算简单线性回归模型的R方值。
执行结果:import openml import numpy as np# 从 openml 获取波士顿房价数据集 dataset = openml.datasets.get_dataset(531) X, y, categorical_indicator, attribute_names = dataset.get_data(target=dataset.default_target_attribute, dataset_format='dataframe' )# 这里只用RM这个特征来计算,提取RM列特征数据 boston_datas = X.iloc[:,5]# 分布在50那里的一些点,可能不是真实的点,比如问卷调查中通过会设置一些上限点,而往往这些不是真实存在的额点,因此可以去除 y_normal = y[y < 50.0] x_normal = boston_datas[y < 50.0]import sys # 替换为你的 PyCharm 工程实际路径 project_path = 'D:/PycharmProjects/pythonProject/' if project_path not in sys.path:sys.path.append(project_path)# 拆分训练集和测试集 from model_selection import train_test_split X_train,y_train,X_test,y_test = train_test_split(np.array(x_normal),np.array(y_normal),seed=666)# 引入我们自己实现的线性回归模型 from SimpleLinearRegressionDemo import SimpleLinearRegressionModel reg1 = SimpleLinearRegressionModel() reg1.fit(X_train,y_train)# 预测结果 y_predict = reg1.predict(X_test)# scikit-learn来计算均方误差和绝对值误差 from sklearn.metrics import mean_squared_error from sklearn.metrics import mean_absolute_error# 根据公式先计算分子: MSE 均方误差 n_mse = mean_squared_error(y_pred=y_predict,y_true=y_test) # 根据公式先计算分母: 测试集的方差 d_var = np.var(y_test)# 带入公式,得到R Squared值 ret_pred = 1 - n_mse / d_var ret_pred0.6129316803937324


相关文章:
【机器学习】衡量线性回归算法最好的指标:R Squared
衡量线性回归算法最好的指标:R Squared 一、摘要二、回归算法评价指标与R Squared指标介绍三、R Squared的编程实践 一、摘要 本文主要介绍了线性回归算法中用于衡量模型优劣的重要指标——R Squared(R方)。R方用于比较模型预测结果与实际结…...
设计模式-Java
一、创建型模式 1. 单例模式 定义 确保一个类只有一个实例,并提供一个全局访问点。 实现方式 饿汉式(线程安全,但可能浪费资源) public class Singleton {// 静态变量,类加载时初始化private static final Singlet…...
代码讲解系列-CV(五)——语义分割基础
文章目录 一、图像分割标注1.1 Labelme标注1.2 SAM辅助1.3 json格式 二、数据解析2.1 Dataset2.2 train.py2.2.1 取参2.2.2 分割和数据集的读取 三、Unet网络搭建3.1 Unet3.2 Network 四、损失函数和指标4.1 DICE系数4.2 损失函数4.3 半精度训练 五、SAM六、作业 语义分割是图片…...
在mfc中使用自定义三维向量类和计算多个三维向量的平均值
先添加一个普通类, Vector3.h, // Vector3.h: interface for the Vector3 class. // //#if !defined(AFX_VECTOR3_H__53D34D26_95FF_4377_BD54_57F4271918A4__INCLUDED_) #define AFX_VECTOR3_H__53D34D26_95FF_4377_BD54_57F4271918A4__INCLUDED_#if _MSC_VER > 1000 #p…...
RDMA ibverbs_API功能说明
设备管理 获取当前活动网卡 返回当前rdma设备列表 struct ibv_device **ibv_get_device_list(int *num_devices);//使用 struct ibv_device **dev_list ibv_get_device_list(NULL);获取网卡名 返回网卡名字字符串:如"mlx5_0",一般通过网卡…...
【C++语言】string 类
一、为什么要学习 string 类 C语言中,字符串是以 “\0” 结尾的一些字符的集合,为了操作方便,C标准库中提供了一些 str 系列的库函数,但是这些库函数与字符串是分离开的,不太符合 OOP 的思想,而且底层空间需…...
快速上手gdb/cgdb
Linux调试器-gdb使用 1.背景2.调试原理、技巧命令2.1指令2.2 本质2.3 技巧 1.背景 程序的发布方式有两种,debug模式和release模式 Linux gcc/g出来的二进制程序,默认是release模式 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g…...
《养生》(二)
一、基础生活调整 1.作息规律 固定每天7-8小时睡眠,尽量22:30前入睡,晨起后拉开窗帘晒太阳5分钟,调节生物钟 2.饮食优化 三餐定时,每餐细嚼慢咽20次以上,优先吃蔬菜和蛋白质(如鸡蛋、豆腐&#x…...
JAVA:集成 Drools 业务规则引擎的技术指南
1、简述 Drools 是一个强大的业务规则引擎,适用于需要动态决策或规则管理的场景。它允许开发人员将业务逻辑与应用代码分离,使得业务人员可以通过规则文件维护和更新规则,而无需修改应用代码。本文将介绍 Drools 的基本概念、配置方式&#…...
GeoHD - 一种用于智慧城市热点探测的Python工具箱
GeoHD - 一种用于智慧城市热点探测的Python工具箱 详细原理请参考:Yan, Y., Quan, W., Wang, H., 2024. A data‐driven adaptive geospatial hotspot detection approach in smart cities. Trans. GIS tgis.13137. 代码下载:下载 1. 简介 在城市数据…...
记一次Ngnix配置
记一次Ngnix配置 配置Ngnix配置防火墙 假设一个服务器中有一个公网IP、一个内网IP,另外已经部署好后台服务的接口地址为http://内网ip:8088。 配置Ngnix 找到Ngnix的配置文件,通过在Ngnix的安装路径下的 \conf\nginx.conf 文件。 worker_processes 1;…...
2024年国赛高教杯数学建模C题农作物的种植策略解题全过程文档及程序
2024年国赛高教杯数学建模 C题 农作物的种植策略 原题再现 根据乡村的实际情况,充分利用有限的耕地资源,因地制宜,发展有机种植产业,对乡村经济的可持续发展具有重要的现实意义。选择适宜的农作物,优化种植策略&…...
java基础语知识(8)
类之间的关系 在类之间,最常见的关系有: 依赖(“uses-a”);聚合(“has-a”);继承(“is-a”)。 依赖:一种使用关系,即一个类的实现需要另一个类的协助&#x…...
室内定位精度方案对比
室内定位精度方案对比:成本、开发难度与精度的权衡 索引 引言 Wi-Fi 定位方案 定位原理 成本分析 开发难度 定位精度 蓝牙定位方案 定位原理 成本分析 开发难度 定位精度 超宽带(UWB)定位方案 定位原理 成本分析 开发难度 定…...
Pytorch深度学习教程_5_编写第一个神经网络
欢迎来到《pytorch深度学习教程》系列的第五篇!在前面的四篇中,我们已经介绍了Python、numpy及pytorch的基本使用,并在上一个教程中介绍了梯度。今天,我们将探索神经网络,对于神经网络进行概述并进行简单的实践学习 欢…...
ImportError: cannot import name ‘FixtureDef‘ from ‘pytest‘
错误信息表明 pytest 在尝试导入 FixtureDef 时出现了问题。通常是由于 pytest 版本不兼容 或 插件版本冲突 引起的。以下是详细的排查步骤和解决方案: 1. 检查 pytest 版本 首先,确认当前安装的 pytest 版本。某些插件可能需要特定版本的 pytest 才能…...
改BUG:Mock测试的时候,when失效
问题再现: 这里我写了一测试用户注册接口的测试类,并通过when模拟下层的服务,但实际上when并没有奏效,还是走了真实的service层的逻辑。 package cn.ac.evo.review.test;import cn.ac.evo.review.user.UserMainApplication; imp…...
【自动化脚本工具】AutoHotkey (Windows)
目录 1. 介绍AutoHotkey2. 功能脚本集锦2.1 桌面键盘显示 1. 介绍AutoHotkey 支持Windows安装使用,下载地址为:https://www.autohotkey.com/ 2. 功能脚本集锦 2.1 桌面键盘显示 便于练习键盘盲打 脚本地址:https://blog.csdn.net/weixin_6…...
专题--Linux体系
Linux体系结构相关| ProcessOn免费在线作图,在线流程图,在线思维导图 ProcessOn是一个在线协作绘图平台,为用户提供强大、易用的作图工具!支持在线创作流程图、思维导图、组织结构图、网络拓扑图、BPMN、UML图、UI界面原型设计、iOS界面原型设计等。同时…...
【DeepSeek】Mac m1电脑部署DeepSeek
一、电脑配置 个人电脑配置 二、安装ollama 简介:Ollama 是一个强大的开源框架,是一个为本地运行大型语言模型而设计的工具,它帮助用户快速在本地运行大模型,通过简单的安装指令,可以让用户执行一条命令就在本地运…...
为什么83%的MCP 2026早期部署集群在负载突增时触发非预期驱逐?3步诊断清单+自动修复脚本交付
更多请点击: https://intelliparadigm.com 第一章:MCP 2026边缘节点资源管理 MCP 2026(Multi-Cloud Platform 2026)定义了一套轻量、可插拔的边缘节点资源协同规范,聚焦于异构硬件抽象、实时资源感知与策略驱动的动态…...
Docker AI Toolkit 2026安全配置黄金清单(2026年CIS Benchmark官方对标版)
更多请点击: https://intelliparadigm.com 第一章:Docker AI Toolkit 2026安全配置黄金清单概览 Docker AI Toolkit 2026 是面向生产级AI工作流设计的容器化平台套件,其安全配置直接影响模型训练、推理服务与数据管道的可信边界。本章聚焦于…...
Mem Reduct 3.5.3:基于Native API的高性能Windows内存管理工具深度解析
Mem Reduct 3.5.3:基于Native API的高性能Windows内存管理工具深度解析 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/m…...
034、监控与可观测性:日志、指标与追踪
从一次深夜告警说起 上周三凌晨两点,手机突然狂震——生产环境某个AI推理服务响应时间飙到了5秒。打开监控面板,CPU和内存曲线平稳得可疑,日志里只有零星几个WARNING,但业务侧投诉已经堆了十几条。这种“系统看起来正常但实际已瘫痪”的场面,相信各位都遇到过。问题最终定…...
3分钟零门槛获取百度网盘提取码:智能工具彻底解放你的搜索时间
3分钟零门槛获取百度网盘提取码:智能工具彻底解放你的搜索时间 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜找到心仪的学习资料,却被一个简单的提取码拦在门外?那种感觉…...
WPS-Zotero插件:科研写作的跨平台终极解决方案
WPS-Zotero插件:科研写作的跨平台终极解决方案 【免费下载链接】WPS-Zotero An add-on for WPS Writer to integrate with Zotero. 项目地址: https://gitcode.com/gh_mirrors/wp/WPS-Zotero 还在为Linux与Windows间的科研协作而烦恼吗?WPS-Zoter…...
VS Code MCP插件生态搭建终极 checklist:含37项必验指标(含TLS双向认证、trace-id透传、workspace trust策略)
更多请点击: https://intelliparadigm.com 第一章:VS Code MCP插件生态搭建终极 checklist:含37项必验指标(含TLS双向认证、trace-id透传、workspace trust策略) VS Code 的 MCP(Model Control Plane&…...
3D打印Cherry MX键帽:从设计到制造的完整开源方案
3D打印Cherry MX键帽:从设计到制造的完整开源方案 【免费下载链接】cherry-mx-keycaps 3D models of Chery MX keycaps 项目地址: https://gitcode.com/gh_mirrors/ch/cherry-mx-keycaps 你是否曾经为找不到特殊尺寸的键帽而烦恼?或者想为自己的机…...
Navicat重置工具:Mac用户的终极试用期延长解决方案
Navicat重置工具:Mac用户的终极试用期延长解决方案 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac Navicat作为Ma…...
终极指南:5分钟掌握Locale Remulator系统区域语言模拟器
终极指南:5分钟掌握Locale Remulator系统区域语言模拟器 【免费下载链接】Locale_Remulator System Region and Language Simulator. 项目地址: https://gitcode.com/gh_mirrors/lo/Locale_Remulator Locale Remulator是一款免费高效的系统区域和语言模拟工具…...
