当前位置: 首页 > 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.xdnf.cn/news/486469.html

相关文章:

  • 文章记单词 | 第87篇(六级)
  • FC7300 ADC MCAL配置引导
  • sqli-labs靶场23-28a关(过滤)
  • conda init执行了还是不好用
  • 2025年长三角+山东省赛+ 认证杯二阶段论文发布!
  • python是如何调用前后双下划线的函数的
  • mysql集群
  • [前端] wang 富文本 vue3
  • 【GaussDB迁移攻略】DRS支持CDC,解决大规模数据迁移挑战
  • 芯谷产业园:双流元宇宙开放数字贸易新坐标
  • C++:字符串操作函数
  • 刷leetcodehot100返航版--双指针5/16
  • 虚拟来电 4.3.0 |集虚拟来电与短信于一体,解锁VIP优雅脱身
  • 腾讯云代码助手CodeBuddy使用体验
  • 7.1Java多线程安全和同步
  • vue 指令
  • python版本管理工具-pyenv轻松切换多个Python版本
  • DATE_FORMAT可以接收date类型,也可以接收String类型!
  • this.$set的用法-响应式数据更新
  • oracle主备切换参考
  • 初学者如何用 Python 写第一个爬虫?
  • 【LLM】大模型落地应用的技术 ——— 推理训练 MOE,AI搜索 RAG,AI Agent MCP
  • ​小店推客系统开发SEO全攻略:从技术架构到流量裂变,打造私域增长引擎
  • Android framework 中间件开发(二)
  • 贝叶斯英文单词拼写纠错器(Python)
  • 小型研发团队的项目管理:挑战与高效工具推荐
  • 实时数据流处理的利器:如何利用 Spark Streaming 让数据动起来?
  • Java 流(Stream)API
  • CSS- 3.1 盒子模型-块级元素、行内元素、行内块级元素和display属性
  • MySQL高效开发规范