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

发布于:2025-02-10 ⋅ 阅读:(42) ⋅ 点赞:(0)

一、导入必要的库

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

二、加载自定义数据集

# 创建自定义数据集
# 假设我们有一个简单的线性关系 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)

六、图形展示

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()

七、完整代码即结果演示

 

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()

 

 

 

 

 


网站公告

今日签到

点亮在社区的每一天
去签到