scikit-learn实现单因子线性回归模型

1.是什么:

针对机器学习提供了数据预处理,分类,回归等常见算法的框架
在这里插入图片描述

2.基于scikit-learn求解线性回归的问题:

2.1.求解a,b对新数据进行预测:

在这里插入图片描述

2.2评估模型表现(y和y’的方差MSE):

在这里插入图片描述
在这里插入图片描述

2.3 图形展示:

**scatter(x,y):**画散点图
**绘画子图:**利用matplotlib绘画子图subplot(211)——>代表两行一列第一张图绘制
在这里插入图片描述

3.单因子线性回归模型:

  1. 这些是导入所需的Python库和模块。NumPy用于数值计算,Pandas用于数据处理,Matplotlib用于绘图,而Scikit-learn中的LinearRegression类和评估指标用于线性回归建模和评估。
  2. 在这里插入图片描述
  3. 在这里插入图片描述
  4. 在这里插入图片描述
  5. 在这里插入图片描述
  6. 在这里插入图片描述
  7. 在这里插入图片描述
  8. 在这里插入图片描述
  9. 在这里插入图片描述
    10.在这里插入图片描述

问:为什么scikit-learn期待输入的是二维数组?

  1. 一致性: Scikit-learn的设计遵循一致性原则,即无论输入是一维数组还是二维数组,模型的处理方式应该是一致的。因此,为了保持一致性,大多数模型都要求输入是二维数组。
  2. 多特征支持: 在实际问题中,往往会有多个特征(或自变量)影响目标变量(或因变量)。而使用二维数组可以很容易地表示多个特征,每一列代表一个特征,每一行代表一个样本。
  3. 适应性: 使用二维数组可以更好地适应各种数据集的情况,不论是单特征还是多特征的情况。

完整代码:

# 导入工具包
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score# 1.读取generated_data.csv文件数据
path = 'D:/pythonDATA/generated_data.csv'
data = pd.read_csv(path)
type(data)
# 2.查看读取到的文件
print(data.head())
# 3.分别将数据赋值给x和y
X = data['x']
y = data['y']
print(type(X))
# 4.利用matplotlip将数据可视化,进行分散图显示
plt.figure(figsize=(10, 8))
plt.scatter(X, y)
plt.show()
# 5.创造线性回归模型
lr_model = LinearRegression()
# 输出X的纬度
print(X.shape)
# 6.先将X利用numpy转为数组,然后再reshape成二维数组
X = np.array(X)
print(X)
X = X.reshape(-1, 1)
print(X)
print(X.shape)  # (10,1)
# 7.拟合训练
lr_model.fit(X, y)
# 8.查看线性回归模型拟合后的系数a,b
a = lr_model.coef_
b = lr_model.intercept_
print(a)
print(b)
# 9.对X=3.5时进行模型预测y值
c_predict = lr_model.predict([[3.5]])
print(c_predict)
y_predict = lr_model.predict(X)
print(y_predict)
# 10.进行模型评估
MSE = mean_squared_error(y, y_predict)
R2 = r2_score(y, y_predict)
print(MSE)  # MSE接近0
print(R2)  # R2值接近1,拟合度很高
# 11.可视化y和y'
fig2 = plt.figure(figsize=(10, 10))
plt.scatter(y, y_predict)
plt.show()

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

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

相关文章

为什么会查询不到DNS信息?怎么排查?

DNS(域名系统)是将域名转换为相应 IP 地址的关键系统。查询 DNS 信息具有重要作用,通过查询 DNS 信息,我们可以知道域名对应的 IP 地址,这是最主要的信息,使设备能与目标服务器进行通信;其次是域…

Innodb实现的索引

概念 一种用于提高数据库查询性能的有序的数据结构。通过使用索引,数据库引擎可以快速定位到存储表中的特定数据,而不必逐行遍历整个表。在处理大量数据的时候可以显著加快数据检索的速度。 通过索引列队数据进行排序,降低数据排序的成本&a…

商家制作微信小程序有什么好处?微信小程序的制作有哪些步骤和流程

微信小程序全面指南 微信小程序是微信生态系统中一项革命性的功能,为希望与庞大的微信用户群体互动的企业提供了独特的融合便捷性和功能性的体验。本全面指南深入探讨了微信小程序的世界,强调了其重要性、工作原理以及实际用例,特别是针对企…

Llama 3 模型上下文长度扩展至1048K

AI苏妲己: Gradient AI 近日宣布,通过其创新的渐进式训练方法,成功将 Llama 3 系列模型的上下文长度扩展至超过100万令牌。 Llama 3 模型最初设计用于处理8000个令牌的上下文长度,这大约相当于6000字或10页文档。为了适应更长的…

LLMs之GPT4ALL:GPT4ALL的简介、安装和使用方法、案例应用之详细攻略

LLMs之GPT4ALL:GPT4ALL的简介、安装和使用方法、案例应用之详细攻略 目录 GPT4ALL的简介 0、新功能 1、特点 2、功能 3、技术报告 GPT4ALL的安装和使用方法 1、安装 2、使用方法 GPT4ALL的案例应用 LLMs之LLaMA3:基于GPT4ALL框架对LLaMA-3实现…

python turtle

名字动画 #SquareSpiral1.py import turtle t turtle.Pen() turtle.bgcolor("black")my_nameturtle.textinput("输入你的姓名","你的名字?") colors["red","yellow","purple","blue"] for…

开源代码分享(28)-含分布式光伏的配电网集群划分和集群电压协调控制

参考文献: [1] Chai Y , Guo L , Wang C ,et al.Network Partition and Voltage Coordination Control for Distribution Networks With High Penetration of Distributed PV Units[J].IEEE Transactions on Power Systems, 2018:3396-3407.DOI:10.1109/TPWRS.2018…

oracle 清理 trace 和 alert 日志文件

某天,发现磁盘空间被占满了,继续查询发现是 oracle 的日志文件占满了磁盘空间 其中: trace文件有35G, alert 有23G 目录地址是: diag/rdbms/orcl/orcl/trace, diag/rdbms/orcl/orcl/alert 都是在 oracle 目录下的 diag 目录内部 # 可以使用 以下命令对目录大小进行排…

Vue3:menu导航栏出现多个同一跳转路径的菜单处理

文章目录 需求整理实现思路实现过程 需求整理,实现思路 最近公司想将之前老的项目整理出来,因为这个老项目内容太杂什么页面都往里面塞,导致菜单特别多,公司就像将这个老的项目迁出来,这个旧的项目本来是后端PHP写的。…

rmallox勒索病毒肆虐,如何保护网络安全?

rmallox勒索病毒与网络安全的关系可以从以下几个方面来阐述: 一、rmallox勒索病毒的特性 rmallox勒索病毒是一种极具破坏性的计算机病毒,它具有多个显著特性,这些特性使得该病毒对网络安全构成了严重威胁。具体来说,rmallox病毒具…

网络网络层之(4)IPv4协议

网络网络层之(1)IPv4协议 Author: Once Day Date: 2024年4月4日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day的…

linux——主从同步

1. 保证主节点开始二进制日志,从节点配置中继日志 2. 从节点的开启一个 I/O 线程读取主节点二进制日志的内容 3. 从节点读取主节点的二进制日志之后,会将去读的内容写入从节点的中继日志 4. 从节点开启 SQL 线程,读取中继日志的内容&a…