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

lesson03-简单回归案例(理论+代码)

一、梯度下降 

二、 线性方程怎么样?

三、有噪音吗?

 

四、让我们看一个列子

 

五、如何优化

 启发式搜索

学习进度 

 六、线性回归、逻辑回归、分类

 

总结、 

简单线性回归是一种统计方法,用于确定两个变量之间的关系。具体来说,它试图找到一条直线,能够最好地描述因变量(通常称为Y)和自变量(通常称为X)之间的关系。这条直线可以通过公式 Y=β0+β1XY=β0​+β1​X 来表示,其中 β0β0​ 是截距,β1β1​ 是斜率。

线性回归的目标是最小化实际值与预测值之间差的平方和,这种方法被称为最小二乘法。通过这种方式,我们可以找到最能代表数据趋势的直线。

代码案例:

下面是使用Python和Scikit-Learn库进行简单线性回归分析的例子。我们将创建一些虚拟数据来模拟一个简单的线性关系,并使用这些数据训练一个线性回归模型。

# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_splitprint("程序开始执行...")# 设置随机种子以获得可重复的结果
np.random.seed(0)# 创建虚拟数据
X = 2 * np.random.rand(100, 1)  # 自变量:广告支出
y = 4 + 3 * X + np.random.randn(100, 1)  # 因变量:销售额,基于一个线性方程加上一些噪声print("数据生成完成!前5个样本:")
print(X[:5])
print(y[:5])# 数据集划分
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)print("训练/测试集分割完成!")# 创建线性回归模型对象
lin_reg = LinearRegression()# 使用训练数据拟合模型
lin_reg.fit(X_train, y_train)# 打印出截距和斜率
print(f'截距 (β0): {lin_reg.intercept_}')
print(f'斜率 (β1): {lin_reg.coef_[0]}')# 使用模型进行预测
y_pred = lin_reg.predict(X_test)print("预测完成!前5个预测值:")
print(y_pred[:5])# 可视化结果并保存为文件
plt.figure(figsize=(10, 6))  # 设置图表大小
plt.scatter(X_test, y_test, color='blue', label='真实值')  # 绘制实际值
plt.plot(X_test, y_pred, color='red', label='预测值')  # 绘制预测值
plt.title('广告支出与销售额的关系')
plt.xlabel('广告支出')
plt.ylabel('销售额')
plt.legend()# 保存图像到文件
image_path = "regression_result.png"
plt.savefig(image_path)
print(f"图像已保存为 {image_path}")# 不调用 plt.show() 以避免图形界面相关的问题

 

http://www.dtcms.com/a/195330.html

相关文章:

  • GTS-400 系列运动控制器板卡介绍(三十四)---运动程序多线程累加求和
  • 练习小项目3:随机正能量语录生成器
  • C语言—指针4
  • EXCEL在一列数据前统一添加负号
  • 【Manim】使用manim画一个高斯分布的动画
  • 黑马k8s(八)
  • Spring MVC 对 JavaWeb 的优化:从核心组件到注解
  • 使用 LSTM/GRU 预测设备异常的模型
  • 前端 vue 部署 nginx 请求 404
  • MCP概述及MCP Server的使用和实现(谷歌ADK使用MCP Server)
  • P6123 [NEERC 2016] Hard Refactoring 题解
  • Invicti-Professional-V25.5
  • C/C++实践(九)C++二叉搜索树深入讲解
  • 高效批量合并Word文档的工具介绍
  • FC7300 PWM MCAL配置引导
  • 关于计算机系统和数据原子性的联系
  • Redis 五种类型基础操作(redis-cli + Spring Data Redis)
  • 反编译读取.class文件
  • 从微积分到集合论(1630-1910)(历史简介)——第1章——积分技巧(1630-1660)(Kirsti Møller Pedersen)
  • 时源芯微|磁珠
  • PCL 计算一条射线与二次曲面的交点
  • 【Unity】 HTFramework框架(六十五)ScrollList滚动数据列表
  • 显性知识的主要特征
  • HNU工训--计算机串口数据收发与测量
  • 2025年PMP 学习十六 第11章 项目风险管理 (总章)
  • 如何在自动化脚本中向控件输入文本?
  • ohttps开启群晖ssl证书自动更新
  • Leetcode76覆盖最小子串
  • 五月份嵌入式面试总结
  • 锐捷交换机STP环路日志信息解读