如何使用Sklearn库实现线性回归

简介: 使用Sklearn实现线性回归的步骤:导入numpy, matplotlib, LinearRegression, train_test_split和metrics模块;准备数据集;划分训练集和测试集;创建线性回归模型;训练模型并预测;计算MSE和R²评估性能;可视化预测结果。示例代码展示了这些步骤,包括数据生成、模型训练及结果展示。

要使用Sklearn库实现线性回归,可以按照以下步骤进行操作:

  1. 导入所需的库和模块。
  2. 准备数据集。
  3. 划分训练集和测试集。
  4. 创建线性回归模型并设置参数。
  5. 训练模型并进行预测。
  6. 评估模型性能。
  7. 可视化结果。

以下是具体的代码实现:

# 导入所需的库和模块
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score

# 准备数据集
X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
y = np.array([2, 4, 6, 8, 10])

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

# 创建线性回归模型并设置参数
lr = LinearRegression()

# 训练模型并进行预测
lr.fit(X_train, y_train)
y_pred = lr.predict(X_test)

# 评估模型性能
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print("Mean Squared Error:", mse)
print("R2 Score:", r2)

# 可视化结果
plt.scatter(X_test, y_test, color='blue', label='Actual')
plt.plot(X_test, y_pred, color='red', label='Predicted')
plt.legend()
plt.show()

在这个例子中,我们首先导入了所需的库和模块,然后创建了一个简单的数据集。接下来,我们将数据集划分为训练集和测试集,然后创建了一个线性回归模型。我们使用训练集对模型进行训练,并使用测试集进行预测。最后,我们评估了模型的性能并可视化了结果。

相关文章
|
网络协议 Python
python中socket模块的导入和使用基础
【4月更文挑战第3天】Python的`socket`模块是网络编程的基础,用于创建套接字、绑定地址和端口、监听连接及数据传输。首先,使用`import socket`导入模块。接着,通过`socket.socket()`创建套接字,指定地址族(如`AF_INET`)和类型(如`SOCK_STREAM`)。然后,使用`bind()`方法绑定地址和端口,`listen()`方法监听连接。服务器端通过`accept()`接受连接,`recv()`接收数据,`send()`发送响应。客户端则用`connect()`连接服务器,`send()`发送数据,`recv()`接收响应。
|
Windows
FL Studio 21最新版本下载附激活序列号
FL Studio 21版 是一款非常强大的音乐制作软件。他适用于 Windows 以及 Mac系统,FL Studio被誉为最人性化的音乐制作软件,哪怕你没有使用基础,也能轻松上手,用他把自己的灵感变为音乐。
3350 0
|
开发框架 前端开发 JavaScript
CodeSandbox
【8月更文挑战第29天】CodeSandbox
519 62
|
10月前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
557 1
|
11月前
|
定位技术 Python
Matplotlib 教程 之 Matplotlib imshow() 方法 2
《Matplotlib imshow() 方法详解》:本文详细介绍了 Matplotlib 库中的 `imshow()` 函数,该函数常用于展示二维灰度或彩色图像,也可用于绘制矩阵、热力图等。文章详细解释了 `imshow()` 的语法及各个参数的作用,如颜色映射 `cmap`、归一化方法 `norm` 等,并提供了绘制随机彩色图像的具体示例代码。
158 0
|
小程序 搜索推荐 Java
【技巧】如何在github主页放一条贪吃蛇
本文介绍了如何在GitHub主页上添加贪吃蛇动画,包括设置主页、生成提交记录动画和使用GitHub Action运行工作流程。通过详细步骤和截图演示,展示了从创建仓库到最终展示SVG动画的全过程,并提供了额外的个性化展示内容和相关文章推荐,旨在为读者带来乐趣并提升GitHub页面的趣味性。
363 0
【技巧】如何在github主页放一条贪吃蛇
|
数据采集 数据可视化 大数据
【优秀python大屏案例】基于python flask的前程无忧大数据岗位分析可视化大屏设计与实现
本文介绍了一个基于Python Flask框架的前程无忧大数据岗位分析可视化大屏系统,该系统通过爬虫技术采集招聘数据,利用机器学习算法进行分析,并以可视化大屏展示,旨在提高招聘市场数据分析的效率和准确性,为企业提供招聘决策支持和求职者职业规划参考。
457 2
|
算法
梯度下降算法详解(从下山比喻、数学推导到代码实现)
梯度下降算法详解(从下山比喻、数学推导到代码实现)
4095 0
|
机器学习/深度学习 数据采集 人工智能
【机器学习】怎样检测到线性回归模型中的过拟合?
【5月更文挑战第17天】【机器学习】怎样检测到线性回归模型中的过拟合?
|
数据采集 数据可视化 JavaScript
基于Flask的岗位就业可视化系统(一)
基于Flask的岗位就业可视化系统(一)
144 1