How to understand R of the regresion plot in neural network training?

8 views (last 30 days)
ANN structure is 3-3-4.The following is simple code input_train=[2,2,1,2,1,2,2,2,1,0.3,2,3.0,3.0,2,3.0; 16.6,14.6,15.79,14.6,13.4,14.6,14.6,14.6,13.4,14.6,12.6,13.4,15.8,14.6,13.4; 60,60,80,60,80,60,26.4,93.6,40.0,60,60,40.0,80,60,80]; output_train=[34.17,19.90,19.54,18.42,10.93,18.05,24.36,17.97,14.1,29.23,9.25,13.28,16.03,22.18,5.64; 14.27,16.85,13.680,17.46,15.03,15.68,23.45,13.64,16.84,4.86,29.94,24.90,15.17,13.24,33.78; 3.62,6.39,8.14,6.62,8.01,5.70,7.36,4.88,8.80,7.86,12.04,10.21,6.51,4.48,13.91; 4.88,3.35,2.67,3.22,1.64,2.83,4.98,2.45,2.38,1.42,2.77,3.31,2.43,2.94,1.91]; [inputn,inputps]=mapminmax(input_train); [outputn,outputps]=mapminmax(output_train); net=newff(minmax(inputn),[3,4],{'tansig','logsig'},'traingdx'); net.trainParam.epochs=500; net.trainParam.goal=0.001; net.trainParam.max_fail=10; net=train(net,inputn,outputn); I can get the regression plot, ther is only one R. However,how can i get four correlation coefficient® of four objectives,respectivly?

Accepted Answer

ChristianW on 26 Feb 2013
Edited: ChristianW on 26 Feb 2013
y = sim(net,inputn);
r = regression(outputn,y); % r for every objective
R = regression(outputn(:)',y(:)'); % R from plot
r1_cc = corrcoef(outputn(1,:),y(1,:));
R_cc = corrcoef(outputn(:),y(:));
ChristianW on 26 Feb 2013
I'm sorry, used worng sim()-input, its inputn not input_train. I'll edit my answer.
Greg Heath
Greg Heath on 27 Feb 2013
You should also be able to get it from
R = sqrt(1-MSE/mean(var(target',1))

Sign in to comment.

More Answers (0)


Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!