use of train and test data

2 views (last 30 days)
Elahe Karimi
Elahe Karimi on 18 May 2019
Edited: Elahe Karimi on 18 May 2019
hello,
I've used this code to separate data to test and train .for example i have a dataset include of 6 image. when i run this code, training data is correct and have 3 image but testing data is like this image :(The third image is repeated again).
I can't understand what is the problem .
Please help me
thank you
idx = 1:numImageFiles ;
PTrain = 0.50 ;
Ptest = 0.50;
train_idx = baseFileNames(1:round(PTrain*numImageFiles)); % training indices
test_idx = baseFileNames(round(Ptest*numImageFiles):end,:) ; %test

Accepted Answer

Walter Roberson
Walter Roberson on 18 May 2019
You use round(PTrain*numImageFiles) as the upper limit for train_idx, and you use the same round(PTrain*numImageFiles) as the lower limit for test_idx . That is going to include round(PTrain*numImageFiles) exactly in both train_idx and test_idx .
  3 Comments
Walter Roberson
Walter Roberson on 18 May 2019
The round is not the problem. Consider you are doing the equivalent of
x(1:3) %index 1, 2, 3
x(3:6) %index 3, 4, 5, 6
When your first range ends at N, then your second range needs to start from at least one greater than N or else you will have overlap.
Elahe Karimi
Elahe Karimi on 18 May 2019
Edited: Elahe Karimi on 18 May 2019
ok,I understood. Thank you very much for response.
round(Ptest*numImageFiles)+1

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!