自定义数据集使用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()

相关推荐
拓端研究室TRL28 分钟前
Python与MySQL网站排名数据分析及多层感知机MLP、机器学习优化策略和地理可视化应用|附AI智能体数据代码
人工智能·python·mysql·机器学习·数据分析
小哈里33 分钟前
【pypi镜像源】使用devpi实现python镜像源代理(缓存加速,私有仓库,版本控制)
开发语言·python·缓存·镜像源·pypi
全栈派森41 分钟前
云存储最佳实践
后端·python·程序人生·flask
ayiya_Oese1 小时前
[模型部署] 1. 模型导出
图像处理·python·深度学习·神经网络·视觉检测
电商数据girl1 小时前
酒店旅游类数据采集API接口之携程数据获取地方美食品列表 获取地方美餐馆列表 景点评论
java·大数据·开发语言·python·json·旅游
天天打码1 小时前
python版本管理工具-pyenv轻松切换多个Python版本
开发语言·python
楠奕1 小时前
python中使用neo4j
开发语言·python·neo4j
zybsjn1 小时前
后端系统做国际化改造,生成多语言包
java·python·c#
南斯拉夫的铁托1 小时前
labelimg安装及使用指南(yolo)
开发语言·python·yolo
不许哈哈哈1 小时前
基于百度云ORC与阿里大语言模型的自动评分系统
python·语言模型·百度云