来自「建立预测烟叶中含N量的BP人工神经网络模型。。。。全局优化算法」· 代码 · 共 43 行

TXT
43
字号
clear; 
%载入数据,将TN.mat换成你自己感兴趣的数据 
load TN.mat; 
%利用PCA分解将数据降维,用Matlab里面的svd也行 
[score,loading]=apca(X,0,10); 
score=score'; 
Y=Y'; 
[nRow nCol]=size(score); 



%将样本分为训练、测试、验证三类 
iitest=2:4:nCol; 
iivalidation=4:4:nCol; 
iitrain=[1:4:nCol 3:4:nCol]; 
test.P=score(:,iitest); 
test.T=Y(:,iitest); 
validation.P=score(:,iivalidation); 
validation.T=Y(:,iivalidation); 
train.X=score(:,iitrain); 
train.Y=Y(:,iitrain); 

%建立BP神经网络 
net=newff(minmax(train.X),[10,1],{'tansig' 'purelin'},'trainlm'); 

%设置训练参数 
net.trainParam.show=1; 
net.trainParam.epochs=500; 

%训练 
[net,tr]=train(net,train.X,train.Y,[],[],validation,test); 

%查看训练的效果 
plot(tr.epoch,tr.perf,'r-',tr.epoch,tr.vperf,'g:',tr.epoch,tr.tperf,'b-.') 

%预测 
predictY=sim(net,score); 


%查看预测效果如何 
[m,b,r]=postreg(predictY,Y) 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?