自定义数据集使用scikit-learn中的包实现线性回归方法对其进行拟合

一、导入必要的库

python 复制代码
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

二、加载自定义数据集

python 复制代码
# 创建自定义数据集
# 假设我们有一个简单的线性关系 y = 2x + 1,并添加一些随机噪声
np.random.seed(42)  # 为了结果的可重复性设置随机种子
X = 2 * np.random.rand(100, 1)  # 100个样本,每个样本1个特征(随机生成在0到2之间的数)
y = 4 + 3 * X + np.random.randn(100, 1)  # 目标变量,添加了一些随机噪声

三、划分数据集

python 复制代码
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

四、训练线性回归模型

python 复制代码
lin_reg = LinearRegression()
lin_reg.fit(X_train, y_train)

五、预测并评估模型

python 复制代码
# 进行预测
y_pred = lin_reg.predict(X_test)

# 评估模型
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

六、图形展示

python 复制代码
plt.scatter(X, y, color='blue', label='point')
plt.plot(X_test, y_pred, color='red', label='line')
plt.xlabel('X')
plt.ylabel('y')
plt.title('show')
plt.legend()
plt.show()

七、完整代码即结果演示

python 复制代码
import numpy as np
from matplotlib import pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

# 创建自定义数据集
# 假设我们有一个简单的线性关系 y = 2x + 1,并添加一些随机噪声
np.random.seed(42)  # 为了结果的可重复性设置随机种子
X = 2 * np.random.rand(100, 1)  # 100个样本,每个样本1个特征(随机生成在0到2之间的数)
y = 4 + 3 * X + np.random.randn(100, 1)  # 目标变量,添加了一些随机噪声

# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练线性回归模型
lin_reg = LinearRegression()
lin_reg.fit(X_train, y_train)

# 进行预测
y_pred = lin_reg.predict(X_test)

# 评估模型
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"均方误差: {mse}")

plt.scatter(X, y, color='blue', label='point')
plt.plot(X_test, y_pred, color='red', label='line')
plt.xlabel('X')
plt.ylabel('y')
plt.title('show')
plt.legend()
plt.show()

相关推荐
C137的本贾尼3 分钟前
告别硬编码:提示词模板入门
python·langchain
m0_372257025 分钟前
RRF和Cross-Encoder rerank怎么实现
开发语言·windows·python
Cosolar15 分钟前
大模型应用开发面试 • 每日三题|Day 002|记忆(Memory)、工具使用(Tool Use)和微调(Fine-tuning)
后端·python·llm
Carl_奕然17 分钟前
【智能体】Agent的四种设计模式之:Plan-and-Execute
人工智能·python·设计模式
纤纡.19 分钟前
从课堂视频转写结构化数据:Python + 讯飞 + 通义千问全流程实战
python·阿里云·语言模型·讯飞
YuanDaima204819 分钟前
动态规划基础原理与题目说明
数据结构·人工智能·python·算法·动态规划·手撕代码
Metaphor69230 分钟前
使用 Python 加密或解密 Word 文档
python·安全·word
IT策士36 分钟前
Python 中间件系列:文件存储minio操作操
开发语言·python·中间件
Ulyanov1 小时前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 驯服猛兽——自动驾驶仪(Autopilot)设计与舵机动力学
python·自动驾驶·雷达电子对抗
暗影八度1 小时前
OpenMetadata Python ingestion 开发环境搭建与运行文档
开发语言·python