MATLAB: Is the testSet (size) equal to the dataSet after installing net.divide​​Param.tes​t​Ratio to 15/100.

net.divideparam.trainratio = 70/100; net.divideparam.valratio = 15/100; net.divideparam.testratio = 15/100;

I'm using a feed-forward neural network. Here I want to split my dataset into 3 pieces. A training, validation and test-set. Thus for example I set these on :
net.divideParam.trainRatio = 70/100; net.divideParam.valRatio = 15/100; net.divideParam.testRatio = 15/100;
But when I test my network y = net(x); I see that y contains my whole dataset and not 15% of it.
Thus, if my dataset contains 210 data points, I would expect that Y contains 32 data points.
Can someone explain this to me? Can I relay on Y, or should I create my own independent data set because my test set, isn't allowed to use any train or validation data…

Best Answer

1. The random 70/15/15 split is a default. Therefore you don't have to specify anything to use it.
The separate train/val/test information is stored in the training record tr where
[ net tr y e ] = train(net,x,t);
%y = net(x); e = t-y;
All you have to do is
tr = tr % No semicolon
to find out what info is in tr. For example
valind = tr.valInd;
Hope this helps.
Thank you for formally accepting my answer
Greg