Neural Network Data division

조회 수: 10(최근 30일)
Arijit 2011년 12월 13일
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
Arijit 2011년 12월 14일
Hi Greg,
I got the answer of my previous question. If my output is "Y", then we can get the train output from "Y(tr.trainInd)".

댓글을 달려면 로그인하십시오.

채택된 답변

Luca Cavazzana
Luca Cavazzana 2011년 12월 13일
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
  댓글 수: 1
Arijit 2011년 12월 14일
Thanks Luca.
I did using tr.trainInd and got the desired output.

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by