📄
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -