%% %%没优化的DELM 3个隐含层 %% 清空环境 tic close all clear format compact format short clc %% %in=xlsread('数据2.xlsx','input'); %out=xlsread('数据2.xlsx','output'); % 归一化 %input=mapminmax(in',0,1); %[output,TSps]=mapminmax(out',0,1); %input=input'; %output=output'; TrainingData='TrainingData.xlsx'; TestingData='TestingData.xlsx'; %训练输入 train_data=xlsread(TrainingData); w=size(train_data,2); T_train=train_data(:,w)'; P_train=train_data(:,1:w-1)'; clear train_data; %测试输入 test_data=xlsread(TestingData); w=size(test_data,2); T_test=test_data(:,w)'; P_test=test_data(:,1:w-1)'; clear test_data; %% 参数设置 hidden=[10;20;100];%n个隐含层就是[n1;n2;n3;n4;....nn] %lambda=inf; TF='sig'; %% 训练 [delm,auto,MAPE,R2,outputxiuzheng,shicexiuzheng]=delmtrainnew(P_train,T_train,hidden,TF); [output,TestMAPE,TestR2]=delmpredictnew(delm,auto,P_test,T_test,hidden,TF); %[output,TestMAPE,TestR2]=delmpredict(delm,P_train,T_train,TF); T1=delmpredict(delm,P_test,TF); % 反归一化 T11=mapminmax('reverse',T1',TSps); TTR=mapminmax('reverse',T_train',TSps); figure plot(T11) hold on plot(TTR) legend('实际输出','期望输出') title('训练集') % 测试集; T2=delmpredict(delm,P_test); T22=mapminmax('reverse',T2',TSps); TTe=mapminmax('reverse',T_test',TSps); figure plot(T22) hold on plot(TTe) legend('实际输出','期望输出') test_mse=mse(T22-TTe) T_test=TTe; TY=T22; N = length(T_test); R2 = (N*sum(TY.*T_test)-sum(TY)*sum(T_test))^2/((N*sum((TY).^2)-(sum(TY))^2)*(N*sum((T_test).^2)-(sum(T_test))^2)) title('测试集')