Is there a way to obtain the indices of the training, validation and test datasets in NN pattern recognition?
3 views (last 30 days)
Gunjan Rateria on 14 Jul 2020
Let's say I feed a 100*3 matrix as a input and a 100*1 matrix as target datset to the NN pattern regonition app. As per the default setting it will randomly select 70% of the data as the training set, 15% as Validation test and 15% as testing set right? Now, I carry out a number of iterations to train the network and let's say I decide to select the model with the least error in the test set as my final model. So, Is there any way to get the indices of the dataset that was selected as the training, validation and the test set for my final model. I want to use these sets to train/evaluate the performance of the other models I have.
I hope my question was clear. If not, please let me know. I greatly appreciate your time andd help in answering my question.
Gifari Zulkarnaen on 14 Jul 2020
You can see those indices in the ouput data of train command.
[net,tr] = train(net,x,t); % net is trained network, tr in training information
train_index = tr.trainInd;
validation_index = tr.valInd;
test_index = tr.testInd;
If you want to use saved indices for other training, you can divide the dataset using user-defined indices (before train the network) using divideind option:
net.divideFcn = 'divideind';
net.divideParam.trainInd = train_index;
net.divideParam.valInd = validation_index;
net.divideParam.testInd = test_index;