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

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

python 复制代码
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

# 生成示例数据:y = 3 * X + 4 + 噪声
np.random.seed(42)
X = 2 * np.random.rand(100, 1)  # 100个样本,1个特征
y = 3 * X + 4 + 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)

# 创建线性回归模型并拟合
model = LinearRegression()
model.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = model.predict(X_test)

# 评估模型
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse}")

r2 = r2_score(y_test, y_pred)
print(f"R²: {r2}")

# 可视化结果
plt.scatter(X_train, y_train, color='blue', label='Training data')
plt.scatter(X_test, y_test, color='green', label='Test data')
plt.plot(X_test, y_pred, color='red', label='Regression line')
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()
相关推荐
Gerlat小智4 分钟前
【手撕机器学习 04】手撕线性回归:从“蒙眼下山”彻底理解梯度下降
人工智能·机器学习·线性回归
学术小白人7 分钟前
IEEE出版 | 2026年计算智能与机器学习国际学术会议(CIML 2026)
人工智能·机器学习
TTGGGFF32 分钟前
云端服务器使用指南:利用Python操作mysql数据库
服务器·数据库·python
jie*38 分钟前
小杰深度学习(four)——神经网络可解释性、欠拟合、过拟合
人工智能·python·深度学习·神经网络·scikit-learn·matplotlib·sklearn
JavaPub-rodert1 小时前
用 go-commons 打造更优雅的字符串处理工具
开发语言·后端·golang
Archie_IT1 小时前
嵌入式八股文篇——P1 关键字篇
c语言·开发语言·单片机·mcu·物联网·面试·职场和发展
workflower1 小时前
将图片中的图形转换为可编辑的 PPT 图形
java·开发语言·tomcat·powerpoint·个人开发·结对编程
jie*2 小时前
小杰深度学习(five)——正则化、神经网络的过拟合解决方案
人工智能·python·深度学习·神经网络·numpy·matplotlib
ftpeak2 小时前
《WebAssembly指南》第九章:WebAssembly 导入全局字符串常量
开发语言·rust·wasm
卡戎-caryon2 小时前
【Java SE】06. 数组
java·开发语言