当前位置: 首页 > article >正文

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

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

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


http://www.kler.cn/a/517882.html

相关文章:

  • 腾讯云开发提供免费GPU服务
  • 探秘 TCP TLP:从背景到实现
  • 制造企业的成本核算
  • vue2和vue3组件之间的通信方式差异
  • fps一些内容添加
  • Python爬虫学习第三弹 —— Xpath 页面解析 实现无广百·度
  • 如何将硬盘克隆到另一个硬盘或是固态硬盘?(免费)
  • Kafka 日志存储 — 日志清理
  • 使用 vite-plugin-vue-setup-extend 插件提升 Vue 3 开发体验
  • 单值二叉树(C语言详解版)
  • leetcode151-反转字符串中的单词
  • 关于WPF中ComboBox文本查询功能
  • 什么是稀疏 MoE?Doubao-1.5-pro 如何以少胜多?
  • 【技巧】优雅的使用 pnpm+Monorepo 单体仓库构建一个高效、灵活的多项目架构
  • FPGA在空间领域应用的权衡之道
  • 如何实现gitlab和jira连通
  • jQuery小游戏
  • MYSQL学习笔记(四):多表关系、多表查询(交叉连接、内连接、外连接、自连接)、七种JSONS、集合
  • jupyter使用 Token 认证登录
  • 编写、应用中断例程
  • Django实现数据库的表间三种关系
  • 如何安装RAMS
  • Vue 3 项目结构及核心文件
  • ORB-SLAM2源码学习:Initializer.cc⑧: Initializer::CheckRT检验三角化结果
  • 解决no main manifest attribute错误
  • C++函数初识