大学生课程版|统计基础与python分析|一元线性回归

目录

1.一元线性回归的数学原理

2.一元线性回归的代码实现

2.1需要安装sklearn库

2.2绘制离散点图

2.3引入Scikit-Learn库搭建模型

2.4 模型预测

2.5 模型可视化


摘要:线性回归模型是利用线性拟合的方式来探寻数据背后的规律,如下图所示,就是通过搭建线性回归模型来寻找这些散点(也称样本点)背后的趋势线(也称回归曲线),而通过这个回归曲线我们就能进行一些简单的预测分析或因果关系分析。

线性回归中,我们根据特征变量(也称自变量)来对反应变量(也称因变量)进行预测,根据特征变量的个数可将线性回归模型分为一元线性回归和多元线性回归。

通过一个特征变量:工作年限对收入进行预测,就属于一元线性回归;

通过多个特征变量:工作年限、行业、所在城市等对收入进行预测,就属于多元线性回归。

1.一元线性回归的数学原理

2.一元线性回归的代码实现

2.1需要安装sklearn库

sklearn是scikit-learn的简称,是一个基于Python的第三方模块。sklearn库集成了一些常用的机器学习方法,在进行机器学习任务时,并不需要实现算法,只需要简单的调用sklearn库中提供的模块就能完成大多数的机器学习任务。sklearn库是在Numpy、Scipy和matplotlib的基础上开发而成的,因此需要先安装这些依赖库。

安装顺序:

Numpy库

Scipy库

matplotlib库

sklearn库

sklearn共分为6大部分,分别用于完成分类任务,回归任务,聚类任务,降维任务,模型选择以及数据的预处理。

2.2绘制离散点图

import matplotlib.pyplot as plt# 自变量要写成二维结构(列表),大列表内有小列表# 符合多元回归逻辑# 因为因变量y可能对应多个自变量x# 例如三个特征变量:[[1, 2, 3], [2, 4, 5], [4, 6, 8], [5, 7, 9]]x = [[1], [2], [4], [5]]y = [2, 4, 6, 8]# 显示离散点plt.scatter(x, y)plt.show()

2.3引入Scikit-Learn库搭建模型

# 引入线性回归相关模型LinearRegressionfrom sklearn.linear_model import LinearRegression# 构造一个初始的线性回归模型,并命名为regrregr = LinearRegression()# 完成模型搭建regr.fit(x, y)

2.4 模型预测

# 使用predict()函数,括号内为自变量

# 自变量需要写成二维结构形式

# 获得的预测结果y为一个一维数组

y = regr.predict([[1.5]])print(y)y = regr.predict([[1.5], [2.5], [4.5]])print(y)

显示:

[2.9]

[2.9 4.3 7.1]

2.5 模型可视化

print('系数a:' + str(regr.coef_[0]))
print('截距b:' + str(regr.intercept_))显示:
系数a:1.4000000000000004
截距b:0.7999999999999989

2.6 线性回归方程构造

# 通过coef_和intercept_属性获得系数、截距

# coef_得到的是一个列表,取编号0,就是取第一个数据,为系数

# intercept_就是数字, 没有列表

print('系数a:' + str(regr.coef_[0]))
print('截距b:' + str(regr.intercept_))显示:
系数a:1.4000000000000004
截距b:0.7999999999999989

显示:

系数a:1.4000000000000004

截距b:0.7999999999999989

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式——抽象工厂模式

定义: 抽象工厂模式(Abstract Factory Pattern)提供一个创建一系列或相互依赖对象的接口,而无须指定它们具体的类。 概述:一个工厂可以提供创建多种相关产品的接口,而无需像工厂方法一样,为每一个产品都提供一个具体…

HarmonyOS—使用预览器查看应用/服务效果

DevEco Studio为开发者提供了UI界面预览功能,可以查看应用/服务的UI界面效果,方便开发者随时调整界面UI布局。预览器支持布局代码的实时预览,只需要将开发的源代码进行保存,就可以通过预览器实时查看应用/服务运行效果&#xff0c…

Jetpack Compose 可组合项的生命周期

点击查看:可组合项的生命周期 官网 在本页中,您将了解可组合项的生命周期以及 Compose 如何确定可组合项是否需要重组。 生命周期概览 正如管理状态文档中所述,一个组合将描述应用的界面,并通过运行可组合项来生成。组合是描述…

算能RISC-V通用云开发空间编译pytorch @openKylin留档

终于可以体验下risc-v了! 操作系统是openKylin,算能的云空间 尝试编译安装pytorch 首先安装git apt install git 然后下载pytorch和算能cpu的库: git clone https://github.com/sophgo/cpuinfo.git git clone https://github.com/pytorc…

2.5网安学习第二阶段第五周回顾(个人学习记录使用)

本周重点 ①多进程和多线程 1、进程和线程 2、多线程爆破 ②Redis数据库 1、Redis的使用 2、Redis持久化 3、Redis未授权免密登录 ③嗅探和Python攻击脚本 1、嗅探(端口扫描和IP扫描) 2、SCAPY的应用 3、Python攻击脚本(SYN半连接…

CI/CD 之 gitlab-runner 部署与踩坑

前言 去年花时间研究了一下 CI/CD , 自己部署了一套 gitlab-runner 玩了一下,部署过程之后遇到了不少问题,把之前的踩坑与部署记录分享一下。 简介 gitlab-runner是一个开源项目,用于运行 Pipeline 作业并将结果发送回 GitLab。 它与 Git…

NLP_构建GPT模型并完成文本生成任务

文章目录 搭建GPT模型(解码器)构建文本生成任务的数据集训练过程中的自回归文本生成中的自回归(贪婪搜索)完整代码小结 搭建GPT模型(解码器) GPT 只使用了 Transformer的解码器部分,其关键组件…

【探讨】光场显示技术的研究现状与发展趋势

摘要:目前常用的三维显示技术,一般是通过人眼的双目视差和视觉暂留效应实现的三维效果。由于丢失了深度信息,会引起辐辏调节冲突,使观看者产生不适感。光场显示是通过复现物体表面光线的真三维显示技术,其拥有良好的用…

Zabbix 远程监控主机

目录 1、安装 Zabbix 安装客户端 服务端测试通讯 Web页面添加主机 2、监控 Nginx 自定义脚本监控 Nginx web配置台 3、监控 MySQL 配置模版文件 配置Web界面 1、安装 Zabbix node-12 作为zabbix的被监控端,提供mysql服务器,配置zabbix监控node…

(HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕

一、电路接法 电路接法参照江科大视频。 二、相关代码及文件 说明:代码采用hal库,通过修改江科大代码实现。仅OLED.c文件关于引脚定义作了hal库修改,并将宏定义OLED_W_SCL(x)、OLED_W_SDA(x)作了相关修改。 1、OLED.c void OLED_I2C_Init(voi…

Encoder-decoder 与Decoder-only 模型之间的使用区别

承接上文:Transformer Encoder-Decoer 结构回顾 笔者以huggingface T5 transformer 对encoder-decoder 模型进行了简单的回顾。 由于笔者最近使用decoder-only模型时发现,其使用细节和encoder-decoder有着非常大的区别;而huggingface的接口为…

golang 项目中配置gin的web框架

1.go 初始化 mod文件 go mod init gin-ranking 2.gin的crm框架 go get -u github.com/gin-gonic/gin 3.go.mod爆红解决