CNN-GRU-Attention卷积神经网络-门控循环单元多输入多输出预测,CNN-GRU-Attention回归预测。评价指标包括:R2、MAE、MSE、RMSE等,代码质量极高,方便学习和替

发布时间:2024年01月24日

%% ?清空环境变量
warning off ? ? ? ? ? ? % 关闭报警信息
close all ? ? ? ? ? ? ? % 关闭开启的图窗
clear ? ? ? ? ? ? ? ? ? % 清空变量
clc ? ? ? ? ? ? ? ? ? ? % 清空命令行

%% ?导入数据
res = xlsread('数据.xlsx');

%% ?数据分析
num_size = 0.8; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?% 训练集占数据集比例
outdim = 3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?% 最后3列为输出
num_samples = size(res, 1); ? ? ? ? ? ? ? ? ?% 样本个数
res = res(randperm(num_samples), :); ? ? ? ? % 打乱数据集(不希望打乱时,注释该行)
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim; ? ? ? ? ? ? ? ? ?% 输入特征维度

%% ?划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);

P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);

%% ?数据分析
f_ = size(P_train, 1);
outdim = 3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?% 最后一列为输出
%% ?得到训练集和测试样本个数
M = size(P_train, 2);
N = size(P_test , 2);

%% ?数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);

智能算法及其模型预测

文章来源:https://blog.csdn.net/qq_43916303/article/details/135783926
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。