【LSTM-XGBOOST多变量回归预测】基于长短期记忆神经网络-XGBOOST多变量回归预测。(可做分类/回归/时序预测,具体私聊),可直接运行。matlab代码,2020b及其以上。

1.LSTM-XGBoost回归预测,模型是一种结合了LSTM和XGBoost两种算法的混合模型,

2.LSTM是一种循环神经网络,可以用于处理时序数据,而XGBoost则是一种梯度提升树算法,可以用于进行分类和回归任务。在LSTM-XGBoost模型中,LSTM用于提取数据中的时序特征,然后将这些特征作为输入传递给XGBOOST模型。

3.运行环境要求MATLAB版本为2020b,多特征输入单输出模型。程序内注释详细,直接替换数据就可以用。

4.评价指标包括:R2、MAE、MSE、RMSE和MAPE等,代码质量极高,方便学习和替换数据。参数可方便更改,程序和excel数据放在一个文件夹,注释明细。

%% 清空环境变量

warning off % 关闭报警信息

close all % 关闭开启的图窗

clear % 清空变量

clc % 清空命令行

%% 导入数据

res = xlsread('数据集.xlsx');

%% 数据分析

num_size = 0.75; % 训练集占数据集比例

outdim = 1; % 最后一列为输出

num_samples = size(res, 1); % 样本个数

num_train_s = round(num_size * num_samples); % 训练集样本个数

f_ = size(res, 2) - outdim; % 输入特征维度

flag_conusion = 1; % 标志位为1,打开混淆矩阵(要求2018版本及以上)

%% 划分训练集和测试集

P_train = res(1: num_train_s, 1: f_)';

T_train = res(1: num_train_s, f_ + 1: end)';

P_test = res(num_train_s + 1: end, 1: f_)';

T_test = res(num_train_s + 1: end, f_ + 1: end)';

%% 划分训练集和测试集

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);

%% 格式转换

for i = 1 : M

pc_train{i, 1} = p_train(:, i);

end

for i = 1 : N

pc_test{i, 1} = p_test(:, i);

end

智能算法及其模型预测

更多推荐