%% 清空变量
clc;
clear;
close all;
format compact ;
warning off
%% 读取数据
%% 导入数据
data = xlsread('数据集')';
[x,y]=data_process(data,6);
%归一化
method=@mapminmax;%归一化
% method=@mapstd;%标准化
[xs,mappingx]=method(x');x=xs';
[ys,mappingy]=method(y');y=ys';
%划分数据
n=size(x,1);
m=round(n*0.7);%前70%训练,对最后30%进行预测
XTrain=x(1:m,:)';%% 取转置,因为elm是一列为一个样本
XTest=x(m+1:end,:)';
YTrain=y(1:m,:)';
YTest=y(m+1:end,:)';
fobj=@(x)fitness(x,XTrain,YTrain,XTest,YTest);
[x ,fit_gen,process]=forlstm(fobj);%分别对隐含层节点 训练次数与学习率寻优
%% 画适应度曲线与4个参数的变化曲线
huatu(fit_gen,process,'IWOA')
disp('优化的超参数为:')
disp('L1:'),x(1)
disp('L2:'),x(2)
disp('K:'),x(3)
disp('lr:'),x(4)
智能算法及其模型预测