Choosing data as training, validation and testing ANN

7 views (last 30 days)
Hi everyone,
I am a very new in MATLAB and ANN, I want to know how choose the data as training, validation, and testing.
if I have data
A = [1:100] % Input,,,,,,,, B = A.^2 % Target
I want to choose 80% data as training, 10% validation and 10% also as testing.. And how if I want to take it randomly..
If the questions are not very clear, please inform me. Thank you very much
Muammar

Accepted Answer

Walter Roberson
Walter Roberson on 2 Dec 2011
The below code would need to be adjusted a bit if A is not a vector.
numA = length(A);
trainsize = floor(0.8 * numA);
valsize = floor(0.8 * numA);
testsize = numA - trainsize - valsize;
ridx = randperm(numA);
traindata = A(ridx(1:trainsize));
valdata = A(ridx(trainsize + 1 : trainsize + valsize));
testdata = A(ridx(end-testsize+1:end));

More Answers (2)

Greg Heath
Greg Heath on 3 Dec 2011
See the input parameter list of the newff documentation
help newff
Hope this helps.
Greg
  1 Comment
Muammar
Muammar on 4 Dec 2011
Hii Greg...
I use newff, but i dont know how to divide the data manually. Example, I want to use A(1:80) as training, A(81:90) as validation and A(91:100) as testing. Thank you..
Muammar

Sign in to comment.


Greg Heath
Greg Heath on 6 Dec 2011
It is straightforward:
ptrn = A(1:80);
pval = A(81:90);
ptst = A(91:100);
Similarly for t and B.
Or did I miss something?
Hope this helps.
Greg

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!