使用Python实现简单的线性回归模型

简介: 【10月更文挑战第2天】使用Python实现简单的线性回归模型

引言

在数据科学中,线性回归是一种基本的统计方法,用于估计两个变量之间的关系。当一个变量的数值变化能够预测另一个变量的变化时,线性回归可以用来构建模型。本文将通过Python来实现一个简单的线性回归模型,并且展示如何使用该模型进行预测。

准备工作

首先,我们需要安装必要的Python库。我们将使用numpy来进行数学运算,matplotlib来绘制图表,以及sklearn中的LinearRegression类来简化我们的建模过程。

pip install numpy matplotlib scikit-learn

数据集

为了演示,我们假设有一个简单的数据集,它表示了广告预算(X)与销售额(Y)之间的关系。我们将创建一些模拟数据来代表这个情况。

import numpy as np
import matplotlib.pyplot as plt

# 创建模拟数据
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)

plt.scatter(X, y)
plt.xlabel("$x$", fontsize=18)
plt.ylabel("$y$", rotation=0, fontsize=18)
plt.title("Advertising Budget vs Sales")
plt.show()

模型训练

现在让我们使用Scikit-Learn提供的LinearRegression类来训练模型。这个过程非常简单,只需要几行代码即可完成。

from sklearn.linear_model import LinearRegression

# 创建并训练线性回归模型
model = LinearRegression()
model.fit(X, y)

print(f"Intercept: {model.intercept_}")
print(f"Slope: {model.coef_}")

预测与评估

训练完成后,我们可以使用训练好的模型来对新的数据点进行预测,并检查模型的性能。

# 使用模型进行预测
X_new = np.array([[0], [2]])
y_predict = model.predict(X_new)

plt.plot(X_new, y_predict, "r-")
plt.scatter(X, y)
plt.xlabel("$x$", fontsize=18)
plt.ylabel("$y$", rotation=0, fontsize=18)
plt.title("Advertising Budget vs Sales with Prediction Line")
plt.show()

# 计算均方误差
from sklearn.metrics import mean_squared_error
y_pred = model.predict(X)
mse = mean_squared_error(y, y_pred)
print(f"Mean Squared Error: {mse:.2f}")

结论

在这篇博文中,我们展示了如何使用Python和Scikit-Learn库来创建一个简单的线性回归模型。我们从创建模拟数据开始,然后训练了一个线性回归模型,并最终用该模型进行了预测。此外,我们还计算了模型的均方误差来评估其性能。线性回归是许多机器学习任务的基础,理解它是进入更复杂算法的一个很好的起点。

目录
相关文章
|
3月前
|
机器学习/深度学习 数据采集 数据挖掘
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
|
2月前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
261 2
|
2月前
|
算法 安全 新能源
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
165 0
|
5月前
|
存储 机器学习/深度学习 人工智能
稀疏矩阵存储模型比较与在Python中的实现方法探讨
本文探讨了稀疏矩阵的压缩存储模型及其在Python中的实现方法,涵盖COO、CSR、CSC等常见格式。通过`scipy.sparse`等工具,分析了稀疏矩阵在高效运算中的应用,如矩阵乘法和图结构分析。文章还结合实际场景(推荐系统、自然语言处理等),提供了优化建议及性能评估,并展望了稀疏计算与AI硬件协同的未来趋势。掌握稀疏矩阵技术,可显著提升大规模数据处理效率,为工程实践带来重要价值。
219 58
|
3月前
|
机器学习/深度学习 算法 调度
【切负荷】计及切负荷和直流潮流(DC-OPF)风-火-储经济调度模型研究【IEEE24节点】(Python代码实现)
【切负荷】计及切负荷和直流潮流(DC-OPF)风-火-储经济调度模型研究【IEEE24节点】(Python代码实现)
115 0
|
5月前
|
机器学习/深度学习 人工智能 PyTorch
200行python代码实现从Bigram模型到LLM
本文从零基础出发,逐步实现了一个类似GPT的Transformer模型。首先通过Bigram模型生成诗词,接着加入Positional Encoding实现位置信息编码,再引入Single Head Self-Attention机制计算token间的关系,并扩展到Multi-Head Self-Attention以增强表现力。随后添加FeedForward、Block结构、残差连接(Residual Connection)、投影(Projection)、层归一化(Layer Normalization)及Dropout等组件,最终调整超参数完成一个6层、6头、384维度的“0.0155B”模型
262 11
200行python代码实现从Bigram模型到LLM
|
6月前
|
机器学习/深度学习 人工智能 算法
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
本文介绍了如何使用 Python 和 YOLO v8 开发专属的 AI 视觉目标检测模型。首先讲解了 YOLO 的基本概念及其高效精准的特点,接着详细说明了环境搭建步骤,包括安装 Python、PyCharm 和 Ultralytics 库。随后引导读者加载预训练模型进行图片验证,并准备数据集以训练自定义模型。最后,展示了如何验证训练好的模型并提供示例代码。通过本文,你将学会从零开始打造自己的目标检测系统,满足实际场景需求。
4848 0
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
|
10月前
|
数据采集 数据可视化 数据挖掘
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
872 66
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
|
11月前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型的分布式训练
使用Python实现深度学习模型的分布式训练
445 73
|
11月前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品消费需求分析的深度学习模型
使用Python实现智能食品消费需求分析的深度学习模型
256 21

推荐镜像

更多