%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
%% 单独的bilstm
load 生成数据/x_data
load 生成数据/vmd_data
data = x;
%输入输出数据
input=data(:,1:end-1); %data的第一列-倒数第二列为特征指标
output=data(:,end); %data的最后面一列为标签类型
N=length(output); %全部样本数目
testNum=0.3*N; %设定测试样本数目
trainNum=N-testNum; %计算训练样本数目
% 划分训练集、测试集
%随机抽取
id=randperm(N);
input=input(id,:);
output=output(id,:);
%训练集、测试集
P_train = input(1:trainNum,:)';
T_train =output(1:trainNum)';
P_test =input(trainNum+1:trainNum+testNum,:)';
T_test =output(trainNum+1:trainNum+testNum)';
num_class = length(unique(data(:, end))); % 类别数(Excel最后一列放类别)
% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input );
t_train = categorical(T_train)';
t_test = categorical(T_test )';
% 格式转换
for i = 1 : trainNum
pp_train{i, 1} = p_train(:, i);
end
for i = 1 : testNum
pp_test{i, 1} = p_test(:, i);
end
% 创建网络
numFeatures = size(P_train, 1); % 特征维度
numResponses = num_class;
layers = [ ...
sequenceInputLayer(numFeatures) % 输入层
智能算法及其模型预测