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

Python 一元线性回归模型预测实验完整版

一元线性回归预测模型

实验目的

通过一元线性回归预测模型,掌握预测模型的建立和应用方法,了解线性回归模型的基本原理

实验内容

一元线性回归预测模型

实验步骤和过程

(1)第一步:学习一元线性回归预测模型相关知识。

线性回归模型属于经典的统计学模型,该模型的应用场景是根据已 知的变量(自变量)来预测某个连续的数值变量(因变量)。例如,餐 厅根据每天的营业数据(包括菜谱价格、就餐人数、预定人数、特价菜 折扣等)预测就餐规模或营业额;网站根据访问的历史数据(包括新用 户的注册量、老用户的活跃度、网页内容的更新频率等)预测用户的支 付转化率;医院根据患者的病历数据(如体检指标、药物服用情况、平 时的饮食习惯等)预测某种疾病发生的概率。
站在数据挖掘的角度看待线性回归模型,它属于一种有监督的学习 算法,即在建模过程中必须同时具备自变量x和因变量y。

相关性分析

请添加图片描述
请添加图片描述

请添加图片描述

一元线性回归模型

一元线性回归模型也被称为简单线性回归模型,是指模型中只含有一个自变量和一个因变量,用来建模的数据集可以表示成{(x1,y1),(x2,y2),……,(xn,yn)}。其中,xi表示自变量x的第i个值,yi表示因变量y的第i个值,n表示数据集的样本量。当模型构建好之后,就可以根据其他自变量x的值,预测因变量y的值,该模型的数学公式可以表示成:
y=a+bx+ε
其中,
a为模型的截距项,
b为模型的斜率项,
ε为模型的误差项。
模型中的a和b统称为回归系数,误差项ε的存在主要是为了平衡等号两边的值,通常被称为模型无法解释的部分。

拟合线的求解

接下来要学会如何根据自变量x和因变量y,求解回归系数a和b。前面已经提到,误差项ε是为了平衡等号两边的值,如果拟合线能够精确地捕捉到每一个点(所有的散点全部落在拟合线上),那么对应的误差项ε应该为0。按照这个思路来看,要想得到理想的拟合线,就必须使误差项ε达到最小。由于误差项是y与a+bx的差,结果可能为正值或负值,因此误差项ε达到最小的问题需转换为误差平方和最小的问题(最小二乘法的思路)。误差平方和的公式可以表示为

请添加图片描述

由于建模时的自变量值和因变量值都是已知的,因此求解误差平方和最小值的问题就是求解函数J(a,b)的最小值,而该函数的参数就是回归系数a和b。
该目标函数其实就是一个二元二次函数,如需使得目标函数J(a,b)达到最小,可以使用偏导数的方法求解出参数a和b,进而得到目标函数的最小值。关于目标函数的求导过程如下:

请添加图片描述

请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述

(2)第二步:数据准备,数据来源于课本例题。

请添加图片描述

序号 x1	年份	水路货运量y
1	1991	1659
2	1992	1989
3	1993	2195
4	1994	2255
5	1995	2329
6	1996	2375
7	1997	2364
8	1998	2354
9	1999	2418
10	2000	2534
11	2001	2568
12	2002	2835

(3)第三步:使用 Python 编写实验代码并做图。

import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
# 读取Excel文件
data = pd.read_excel('E:\\File\\class\\数据挖掘\\test1.xlsx')
x = data[['年份']]
y = data['水路货运量y']
# 训练模型
model = LinearRegression()
model.fit(x, y)
# 预测值
x_new = [[2004]]
y_pred = model.predict(x_new)
print("预测值为:", y_pred[0])
# 绘制图像
plt.scatter(x, y)
plt.plot(x, model.predict(x), color='r')
plt.xlabel('年份')
plt.ylabel('水路货运量y')
plt.title('一元线性回归预测模型案例')
plt.show()

代码解释:

导入了 sklearn.linear_model 中的 LinearRegression 类,用于构建线性回归模型;

设置了中文字体为 SimHei;

使用 pandas 读取了名为 test1.xlsx 的 Excel 文件,并将年份列作为自变量 x,将水路货运量列作为因变量 y;

使用 LinearRegression 类构建了一个线性回归模型,并使用 fit() 方法拟合了数据;

定义了一个新的自变量 x_new,它的值为 [[2004]],即预测年份为2004;

使用 predict() 方法预测了 x_new 对应的因变量 y_pred;

输出预测值 y_pred;

使用 matplotlib.pyplot 绘制了数据的散点图和线性回归模型的拟合曲线;

添加了坐标轴标签和标题,并显示了图像。

在上面的代码中,首先使用pd.read_excel()函数读取名为"test1.xlsx"的Excel文件,并将其转化为DataFrame格式的数据存储在data变量中。然后,从data中选择了"x"列和"y"列的数据,并将其转化为numpy数组的形式,分别存储在x和y变量中。接着,使用sklearn中的LinearRegression模型进行训练,得到训练好的模型。然后,构造了一个新的自变量x_new,使用训练好的模型进行预测,得到预测值y_pred。最后,使用matplotlib库绘制了数据散点图和拟合直线图,并添加了x轴标签、y轴标签和图像标题,以便进行可视化分析。

需要注意的是,在使用pd.read_excel()函数读取Excel文件时,需要将文件名和路径指定为正确的文件名和路径。如果Excel文件中有缺失值或格式不规范的数据,需要进行数据清洗和预处理,以保证模型的准确性。

(4)第四步:实验结果。

绘图和预测2004年的水路货运量。

请添加图片描述

请添加图片描述

这里的预测结果为:2884.0792540792318

相关文章:

Python 一元线性回归模型预测实验完整版

一元线性回归预测模型 实验目的 通过一元线性回归预测模型,掌握预测模型的建立和应用方法,了解线性回归模型的基本原理 实验内容 一元线性回归预测模型 实验步骤和过程 (1)第一步:学习一元线性回归预测模型相关知识。 线性回归模型属于…...

GStreamer第一阶段的简单总结

这里写目录标题 前言个人的总结v4l2src插件的简单使用 前言 因为涉及很多细节的GStreamer官方论坛有详细解链接: GStreamer官网,这里不做说明,以下只是涉及到个人的理解和认知,方便后续的查阅。 个人的总结 1)了解pipeline的使用&#xff0…...

【网络进阶】服务器模型Reactor与Proactor

文章目录 1. Reactor模型2. Proactor模型3. 同步IO模拟Proactor模型 在高并发编程和网络连接的消息处理中,通常可分为两个阶段:等待消息就绪和消息处理。当使用默认的阻塞套接字时(例如每个线程专门处理一个连接),这两…...

使用div替代<frameset><frame>的问题以及解决办法

首先是原版三层框架的html&#xff1a; <html> <head> <title>THPWP</title> </head> <!-- 切记frameset不能写在body里面&#xff0c;以下代表首页由三层模块组成&#xff0c;其中第一层我是用来放菜单高度占比14%&#xff0c;中间的用作主…...

Verilog中的`define与`if的使用

一部分代码可能有时候用&#xff0c;有时候不用&#xff0c;为了避免全部编译占用资源&#xff0c;可以使用条件编译语句。 语法 // Style #1: Only single ifdef ifdef <FLAG>// Statements endif// Style #2: ifdef with else part ifdef <FLAG>// Statements …...

沃尔玛、亚马逊影响listing的转化率4大因素,测评补单自养号解析

1、listing的相关性&#xff1a;前期我们在找词&#xff0c;收集词的时候&#xff0c;我们通过插件来协助我们去筛选词。我们把流量高&#xff0c;中&#xff0c;低的关键词都一一收集&#xff0c;然后我们再进行对收集得来的关键词进行分析&#xff0c;再进行挑词&#xff0c;…...

静态分析和动态分析

在开发早期&#xff0c;发现并修复bug在许多方面都有好处。它可以减少开发时间&#xff0c;降低成本&#xff0c;并且防止数据泄露或其他安全漏洞。特别是对于DevOps&#xff0c;尽早持续地将测试纳入SDLC软件开发生命周期是非常有帮助的。 这就是动态和静态分析测试的用武之地…...

代码随想录_贪心_leetcode 1005 134

leetcode 1005. K 次取反后最大化的数组和 1005. K 次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以…...

笔记:对多维torch进行任意维度的多“行”操作

如何取出多维torch指定维度的指定“行” 从二维torch开始新建torch取出某一行取出某一列一次性取出多行取出连续的多行取出不连续的多行 一次取出多列取出连续的多列取出不连续的多列 考虑三维torch取出三维torch的任意两行&#xff08;means 在dim0上操作&#xff09;取出连续…...

【VSCode】1、VSCode 如何连接服务器

文章目录 一、安装 remote-ssh 插件二、直接连接三、配置 SSH 公匙&#xff0c;免密登录 一、安装 remote-ssh 插件 点击插件搜索框&#xff0c;搜 remote-ssh&#xff0c;点击安装 安装完成后就会出现下面的图标&#xff1a; 二、直接连接 点击加号&#xff0c;输入 ssh 连接…...

AI工具:通过智能实现工作和学习效率的革命化

AI工具是指一系列人工智能技术和工具&#xff0c;包括机器学习、深度学习、自然语言处理、计算机视觉等。这些工具可以帮助开发人员和数据科学家通过处理和分析海量数据来自动识别和解决问题&#xff0c;提供智能的决策和预测模型。常见的AI工具包括TensorFlow、PyTorch、Keras…...

static 和构造方法

文章目录 static构造方法内存中数据的存储方式示例 static 具体对象的属性&#xff0c;称之为对象属性&#xff0c;成员属性&#xff0c;实例属性。 具体对象的方法&#xff0c;称之为对象方法&#xff0c;成员方法&#xff0c;实例方法。 静态&#xff1a;static 和具体对…...

【Linux 裸机篇(八)】I.MX6U EPIT 定时器中断、定时器按键消抖

目录 一、EPIT 定时器简介二、定时器按键消抖 一、EPIT 定时器简介 EPIT 的全称是&#xff1a; Enhanced Periodic Interrupt Timer&#xff0c;直译过来就是增强的周期中断定时器&#xff0c;它主要是完成周期性中断定时的。学过 STM32 的话应该知道&#xff0c; STM32 里面的…...

Web安全 XSS靶场搭建(玩转整个XSS环境.)

Web安全 XSS靶场搭建 XSS又叫CSS&#xff08;Cross Site Script&#xff09;跨站脚本攻击&#xff0c;指的是攻击者在Web页面&#xff0c;插入恶意JS代码&#xff0c;当用户浏览该页之时&#xff0c;嵌入其中JS代码就会被执行&#xff0c;从而达到攻击的目的.&#xff08;包含…...

前端开发技术——DOM(上)

一.单选题&#xff08;共4题,44.4分&#xff09; 1 下列选项中&#xff0c;关于事件的描述错误的是&#xff08;&#xff09; A、 事件指的是可以被JavaScript侦测到的行为 B、 事件驱动程序指的是事件触发后要执行的代码 C、 事件源是指触发的事件 D、 事件的种类称为事件…...

银河麒麟v10服务器版安装OpenDDS

1. OpenDDS简介 OpenDDS是OMG数据分发服务(DDS)的一种开源实现&#xff0c;它遵循实时系统v1.2的DDS规范(OMG Document formal/07-01-01)和实时公布/订阅互操作性通信协议v2.1的DDS-RTPS规范(OMG Document formal/2010-11-01)。OpenDDS由OCI公司设计和维护&#xff0c;可从http…...

curl方式调用电商API接口示例 详细介绍

cURL是一个利用URL语法在命令行下工作的文件传输工具&#xff0c;1997年首次发行。它支持文件上传和下载&#xff0c;所以是综合传输工具&#xff0c;但按传统&#xff0c;习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。 cURL支持的通信协议有FTP、FTPS、HTTP、H…...

Duboo介绍与入门

文章目录 1、Dubbo的前世今生2、Dubbo的快速入门2.1、Dubbo的基本架构2.2、Nacos2.3、管理后台2.4、入门案例2.4.1、服务提供者搭建环境代码实现配置文件 2.4.2、服务消费者搭建环境代码实现配置文件 最后说一句 1、Dubbo的前世今生 2011年10月27日&#xff0c;阿里巴巴开源了…...

人工智能中(Pytorch)框架下模型训练效果的提升方法

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能中(Pytorch)框架下模型训练效果的提升方法。随着深度学习技术的快速发展&#xff0c;越来越多的应用场景需要建立复杂的、高精度的深度学习模型。为了实现这些目标&#xff0c;必须采用一系列复杂的技术来提…...

树莓派CSI摄像头使用python调用opencv库函数进行运动检测识别

目录 一、完成摄像头的调用 二、利用python调用opencv库函数对图像进行处理 2.1 图像处理大体流程 2.2 opencv调用函数的参数以及含义 2.2.1 ret, img cap.read() 读取帧图像 2.2.2 cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 灰度图像 2.2.3 gray_diff_img cv2.absdiff(g…...

Perplexity视频搜索不精准?揭秘4类常见误操作及实时修正方案

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Perplexity视频搜索不精准&#xff1f;揭秘4类常见误操作及实时修正方案 Perplexity 的视频搜索功能依赖于跨模态语义理解&#xff0c;但用户常因输入方式或上下文设置不当导致结果偏离预期。以下四类高频误操…...

GANSpace核心原理揭秘:PCA在GAN激活空间中的神奇应用

GANSpace核心原理揭秘&#xff1a;PCA在GAN激活空间中的神奇应用 【免费下载链接】ganspace 项目地址: https://gitcode.com/gh_mirrors/ga/ganspace GANSpace是一项革命性技术&#xff0c;它通过主成分分析&#xff08;PCA&#xff09;在生成对抗网络&#xff08;GAN&…...

告别环境配置烦恼:用PHPStudy+VSCode搭建PHP调试环境(含XDebug配置避坑指南)

告别环境配置烦恼&#xff1a;用PHPStudyVSCode搭建PHP调试环境&#xff08;含XDebug配置避坑指南&#xff09; 刚接触PHP开发时&#xff0c;最令人头疼的莫过于环境配置。明明跟着教程一步步操作&#xff0c;却总是卡在某个环节无法继续。特别是XDebug调试器的配置&#xff0c…...

3分钟掌握NCM音乐解密:ncmdump工具让你的音乐随处播放

3分钟掌握NCM音乐解密&#xff1a;ncmdump工具让你的音乐随处播放 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾经下载了网易云音乐的NCM格式歌曲&#xff0c;却发现无法在其他设备上播放&#xff1f;这种专有加密格式虽然…...

5分钟解锁学术付费墙:Unpaywall浏览器扩展让你的研究之路畅通无阻

5分钟解锁学术付费墙&#xff1a;Unpaywall浏览器扩展让你的研究之路畅通无阻 【免费下载链接】unpaywall-extension Firefox/Chrome extension that gives you a link to a free PDF when you view scholarly articles 项目地址: https://gitcode.com/gh_mirrors/un/unpaywa…...

Ollama三大嵌入模型(mxbai/nomic/all-minilm)怎么选?实测对比告诉你答案

Ollama三大嵌入模型深度评测&#xff1a;mxbai/nomic/all-minilm技术选型实战指南 当你在构建RAG&#xff08;检索增强生成&#xff09;系统时&#xff0c;嵌入模型的选择往往决定了整个应用的核心性能。Ollama作为当前最热门的本地大模型运行框架&#xff0c;支持mxbai-embed-…...

点云配准避坑指南:从理论到代码,详解点到面ICP中法线计算的‘坑’与线性近似的前提

点云配准实战&#xff1a;深入解析点到面ICP算法中的法线计算与线性近似陷阱 在三维重建和机器人定位领域&#xff0c;点云配准技术扮演着关键角色。当我们面对两个部分重叠的点云数据集时&#xff0c;如何精确地将它们对齐成为一个统一坐标系下的完整模型&#xff1f;迭代最近…...

抖音下载器终极指南:3步实现批量无水印下载,提升内容创作效率90%

抖音下载器终极指南&#xff1a;3步实现批量无水印下载&#xff0c;提升内容创作效率90% 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and b…...

N_m3u8DL-RE:跨平台流媒体下载终极指南

N_m3u8DL-RE&#xff1a;跨平台流媒体下载终极指南 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE 在当今数字时…...

【亲测免费】 TC8协议一致性测试文档

TC8协议一致性测试文档 【下载地址】TC8协议一致性测试文档 本仓库提供了一个重要的资源文件&#xff0c;即**TC8协议一致性测试文档**。该文档详细描述了汽车以太网ECU&#xff08;电子控制单元&#xff09;在不同网络层的一致性测试规范。具体包括以下三个部分&#xff1a;1.…...