GWO-LSTM交通流量预测(python代码)

使用 GWO 优化 LSTM 模型的参数,从而实现交通流量的预测方法

代码运行版本要求

1.项目文件夹 

data是数据文件夹,data.py是数据归一化等数据预处理脚本

 images文件夹装的是不同模型结构打印图

 model文件夹

 GWO-LSTM测试集效果 

 效果视频:GWO-LSTM交通流量预测(python代码)_哔哩哔哩_bilibili

对项目感兴趣的可以关注最后一行

import os
import numpy as np
from pandas import date_range, DataFrame as DF, read_csv
from tensorflow.python.keras.models import load_model
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
from tensorflow.python.keras.utils.vis_utils import plot_model
import sklearn.metrics as metrics
import matplotlib as mpl
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 添加中文字体为黑体
plt.rcParams['axes.unicode_minus'] = False
from random import uniform
import warnings
warnings.filterwarnings("ignore")
os.chdir(os.path.abspath(os.path.dirname(__file__)))  # 切换到当前文件夹
from data.data import process_data
from model.GWO import GWO
#压缩包https://mbd.pub/o/bread/ZJ2Wl5pv

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
为了实现GWO-LSTM预测房价,我们需要进行以下步骤:\n\1. 收集房价数据集并进行预处理,包括数据清洗、归一化等操作。\```pyth\# 导入必要的库\impor pandas as p\impor numpy as np\from sklear.preprocessing impor MiMaxScaler\n\# 读取数据集\ = p.r_csv('hous_pri.csv')\n\# 数据清洗\ = .drop()\n\# 归一化\sr = MiMaxScaler()\ = scaler.fi_transform()\```\n\2. 将数据集分为训练集和测试集,并进行数据转换以适应LSTM模型。\```pyth\# 定义函数将数据转换为LSTM模型的输入格式\f cr_datas(datas, look_back=1):\ X, Y = [], []\ for i i rang((datas)-k_back-1):\ = datas[i(i+k_back), ]\ X.app()\ Y.app(datas[i + look_back, ])\ retur np.array(X), np.array(Y)\n\# 定义训练集和测试集的大小\rai_siz = i(() * .67)\s_siz = () - trai_siz\n\# 分割训练集和测试集\rai, tes = [rai_siz,], [trai_siz(),]\n\# 将数据转换为LSTM模型的输入格式\k_back = 3\raiX, traiY = cr_datas(trai, look_back)\sX, tesY = cr_datas(tes, look_back)\n\# 将输入数据转换为3D格式\raiX = np.reshap(traiX, (raiX.shap[], 1, traiX.shap[1]))\sX = np.reshap(tesX, (sX.shap[], 1, tesX.shap[1]))\```\n\3. 构建GWO-LSTM模型并进行训练。\```pyth\# 导入必要的库\from keras.models impor Sequenti\from keras.layers impor Dens\from keras.layers impor LSTM\from keras.optimizers impor Adam\from wolf_opimizati impor GWO\n\# 定义GWO-LSTM模型\m = Sequenti()\m.(LSTM(4, inpu_shap=(1, look_back)))\m.(Dens(1))\m.compi(loss='m_squar_error', optimizer=Adam())\n\# 定义GWO优化器\gw = GWO()\n\# 训练模型\m.fi(traiX, traiY, epochs=100, batch_siz=1, verbos=2, optimizer=gw)\```\n\4. 对测试集进行预测并计算误差。\```pyth\# 对测试集进行预测\sPredi = m.predi(tesX)\n\# 将预测结果转换为原始数据的范围\sPredi = scaler.invers_transform(tesPredi)\sY = scaler.invers_transform([sY])\n\# 计算误差\from sklear.metrics impor m_squar_error\ms = m_squar_error(tesY[], tesPredi[:,])\pri('M Squr Error %.2f' % ms)\```\n\

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深度学习的奋斗者

你的鼓励是我努力的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值