Python-简单的线性回归模型

简介: 线性回归模型

在Python中使用线性回归算法

Scikit-Learn 涵盖了主流的机器学习算法,我们先介绍常用的几个库:

  • lienar_model:线性模型算法库,包括Logistic回归算法等;
  • neighbors:最邻近算法库;
  • naive-bayes:朴素贝叶斯算法库;
  • tree:决策树算法;
  • svm:支持向量机算法;
  • neural_network:神经网络算法。

如下,简单解释线性回归算法。其数学表达式如下:
$$\boldsymbol{\hat y} = \boldsymbol{W} \boldsymbol{x}$$

# 导入所需库
import numpy as np
from matplotlib import pyplot as plt
# 模拟数据集
x= np.linspace(-10, 10, 20)
segma= np.random.randn(20)
y= 3* x+ segma
# 数据图
plt.scatter(x, y)
plt.show()

在这里插入图片描述

同时,此处对线性回归算法进行简单的解释。

# 从Scikit-Learn库导入线性回归算法
from sklearn import linear_model
# x训练线性回归模型
model= linear_model.LinearRegression()
model.fit(X, y)
# 进行预测
model.predit(x_)

如果此时直接将我们上面的得到的x,y传入模型,代码会提示数据维度错误,这是因为Scikit-Learn中线性回归算法中的fit()方法需要传入x和y两组矩阵,即:
$$x: [[样本1],...,[样本n]]$$
$$y: [[样本1],...,[样本n]]$$
下面,我们可以利用的Python的List将序列变成矩阵。

X= [[i] for i in x]
y= [[i] for i in y]
from sklearn import linear_model
model= linear_model.LinearRegression()
model.fit(X, y)
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)

这样,我们就得到了算法所需的正确数据格式。但是,为了检验训练的结果,我们还需要一组测试用的x_。

x_= [[1], [2]]
y_= model.predict(x_)
y_
array([[2.8780171 ],
       [5.90230701]])

我们可以通过display函数通过model.intercept和model.coef查看截距和$\boldsymbol{W}$.

display(model.intercept_)  #截距
display(model.coef_)  #线性模型的系数
array([-0.1462728])



array([[3.02428991]])

我们还可以可视化模型的拟合效果。

y__= model.predict(X)
plt.scatter(x, y__)
plt.plot(X, y__, 'g-')
plt.show()

在这里插入图片描述

以上便是一次完整的简单的线性回归过程。

下面,我们讨论线性回归算法的优缺点:

优缺点 描述
优点 简单,容易理解和实现,可解释性强
缺点 表达复杂模型时不理想,且对非线性问题表现不好
应用场景 金融、气象等
目录
相关文章
|
3月前
|
机器学习/深度学习 数据采集 数据挖掘
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
124 2
|
2月前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
330 2
|
5月前
|
存储 机器学习/深度学习 人工智能
稀疏矩阵存储模型比较与在Python中的实现方法探讨
本文探讨了稀疏矩阵的压缩存储模型及其在Python中的实现方法,涵盖COO、CSR、CSC等常见格式。通过`scipy.sparse`等工具,分析了稀疏矩阵在高效运算中的应用,如矩阵乘法和图结构分析。文章还结合实际场景(推荐系统、自然语言处理等),提供了优化建议及性能评估,并展望了稀疏计算与AI硬件协同的未来趋势。掌握稀疏矩阵技术,可显著提升大规模数据处理效率,为工程实践带来重要价值。
251 58
|
2月前
|
算法 安全 新能源
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
248 0
|
3月前
|
机器学习/深度学习 算法 调度
【切负荷】计及切负荷和直流潮流(DC-OPF)风-火-储经济调度模型研究【IEEE24节点】(Python代码实现)
【切负荷】计及切负荷和直流潮流(DC-OPF)风-火-储经济调度模型研究【IEEE24节点】(Python代码实现)
172 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”模型
330 11
200行python代码实现从Bigram模型到LLM
|
6月前
|
机器学习/深度学习 人工智能 算法
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
本文介绍了如何使用 Python 和 YOLO v8 开发专属的 AI 视觉目标检测模型。首先讲解了 YOLO 的基本概念及其高效精准的特点,接着详细说明了环境搭建步骤,包括安装 Python、PyCharm 和 Ultralytics 库。随后引导读者加载预训练模型进行图片验证,并准备数据集以训练自定义模型。最后,展示了如何验证训练好的模型并提供示例代码。通过本文,你将学会从零开始打造自己的目标检测系统,满足实际场景需求。
5764 0
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
|
10月前
|
数据采集 数据可视化 数据挖掘
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
900 66
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
|
11月前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型的分布式训练
使用Python实现深度学习模型的分布式训练
466 73
|
11月前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品消费需求分析的深度学习模型
使用Python实现智能食品消费需求分析的深度学习模型
267 21

推荐镜像

更多