自学内容网 自学内容网

SO-BiTCN-BiGRU-Attention多输入单输出回归预测

项目源码获取方式见文章末尾! 600多个深度学习项目资料,快来加入社群一起学习吧。

《------往期经典推荐------》

项目名称
1.【基于CNN-RNN的影像报告生成】
2.【卫星图像道路检测DeepLabV3Plus模型】
3.【GAN模型实现二次元头像生成】
4.【CNN模型实现mnist手写数字识别】
5.【fasterRCNN模型实现飞机类目标检测】
6.【CNN-LSTM住宅用电量预测】
7.【VGG16模型实现新冠肺炎图片多分类】
8.【AlexNet模型实现鸟类识别】
9.【DIN模型实现推荐算法】
10.【FiBiNET模型实现推荐算法】
11.【钢板表面缺陷检测基于HRNET模型】

代码说明

  1. 数据读取与预处理

    1. load_data 函数从 CSV 文件读取数据,如果文件不存在则生成并保存。
    2. 使用 MinMaxScaler 对数据进行归一化处理。
    3. create_dataset 函数根据设定的 look_back 值创建时间窗口数据集,用于多步预测。
  2. 模型构建

    1. 自定义 AttentionLayer 实现注意力机制,用于增强模型对关键时间步的关注。

    2. build_model 函数构建包含 SO-BiTCN、BiGRU 和 Attention 的深度学习模型。具体结构如下:

      • SO-BiTCN:使用多个 Conv1D 层模拟 TCN 的特性。
      • BiGRU:使用双向 GRU 层捕捉时间序列的双向依赖关系。
      • Attention:应用自定义的注意力层,以增强模型对重要时间步的关注。
      • 最后通过全连接层输出预测结果。
  3. 模型训练与预测

    1. 使用 EarlyStopping 监控验证损失,防止过拟合。
    2. 训练过程中记录训练和验证损失,以便后续可视化。
    3. 训练完成后,对训练集和测试集进行预测,并进行反归一化处理。
  4. 评估与可视化

    1. evaluate_metrics 函数计算均方误差(MSE)、均方根误差(RMSE)和平均绝对误差(MAE)等评估指标。

    2. plot_results 函数生成以下图表并保存为 PNG 文件:

      • 预测效果图:展示真实值与预测值的对比。
      • 训练过程图:展示训练和验证损失随训练轮次的变化。
      • 相关分析图:展示预测值与真实值的散点图及其相关系数。

运行说明

  1. 保存代码:将上述代码保存为 so_bitcn_bigru_attention_fixed.py

  2. 安装依赖库: 确保安装了必要的Python库:

  3. pip install numpy pandas matplotlib scikit-learn tensorflow

  4. 运行代码:在终端或命令行中运行以下命令:

  5. python so_bitcn_bigru_attention_fixed.py

  6. 输出结果

    1. 数据文件multivariate_time_series.csv 包含模拟的多变量时间序列数据。

    2. 评估指标:终端会打印训练集和测试集的 MSE、RMSE 和 MAE。

    3. 可视化图表

      • SO-BiTCN-BiGRU-Attention_prediction.png:预测效果图。
      • SO-BiTCN-BiGRU-Attention_training_history.png:训练过程图。
      • SO-BiTCN-BiGRU-Attention_correlation.png:相关分析图。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


原文地址:https://blog.csdn.net/2401_87275147/article/details/143747802

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!