Why processed data regression is lower than unprocessed data regression?

3 views (last 30 days)
For my fitnet neural network, Im preprocessing input and target data by mapminmax, and trained using trainbr, trainscg, and traincgb, also I have varied layers and its sizes.
For all these different combinations of network properties, the regression ranges between 65-70%.
But for original data (i.e, for postprocessing), the regression ranges between 90-97%.
Why it is so?
Regression should be same for both cases right ?
Please go through the code and tell me where am I doing wrong and suggestions for improving regression.
clc
clear all
load INP2kf.mat
load TAR2kf.mat
in = INP2kf %input
tar = TAR2kf %target
[pn, ps] = mapminmax(in)
[tn, ts] = mapminmax(tar)
net = fitnet([12], 'trainscg') %tried different combination of layers and its sizes
net.trainParam.epochs = 10000;
net.trainParam.min_grad = 1e-20;
net.trainParam.max_fail = 1000;
net.divideParam.trainRatio = 0.80; % training set [%]
net.divideParam.valRatio = 0.10; % validation set [%]
net.divideParam.testRatio = 0.10; % test set [%]
net.performFcn = 'msereg'
net.performParam.normalization = 'standard';
net = train(net,pn,tn);
an = sim(net,pn);
a = mapminmax('reverse',an,ts);
[m, b, r] = postreg(a,tar)
[m1, b1, r1] = postreg(an,tn)
NET8 = net;
save NET8
Thank You,
Harsha

Answers (0)

Community Treasure Hunt

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

Start Hunting!