Neural Network Data division
2 views (last 30 days)
Show older comments
Hi all,
I am trying to build up a NN model in Matlab 2008a.
I am dividing the dataset using the following command
net.divideParam.trainRatio = 0.6;
net.divideParam.valRatio = 0.2;
net.divideParam.testRatio = 0.2;
Now after training, I want to have those datasets (_i.e._ target and network output only) that were used for training, testing and validation in three different files so that I can manually do the regression analysis. Can anyone please suggest the suitable command to so this.
Thanks for your kind help.
3 Comments
Accepted Answer
Luca Cavazzana
on 13 Dec 2011
after calling train you get as second input argument the training record tr. The attribute testMask{1} contains a matrix (the same size of the input matrix) whose value are 1 if the element is in the training set, NaN otherwise. You can find indices this way:
[net, tr] = train(net, input, targets);
testInd = find(~isnan(tr.testMask{1}(1,:)));
inputTest = input(:,testInd);
targetTest = target(:,testInd);
In the same way, trainMask{1} and valMask{1} gives you the training and validation mask.
edit: instead of the whole testInd=find(...) thing, I forgot there's already the attribute tr.testInd
More Answers (0)
See Also
Categories
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!