use of train and test data
2 ビュー (過去 30 日間)
古いコメントを表示
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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/220156/image.png)
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
0 件のコメント
採用された回答
Walter Roberson
2019 年 5 月 18 日
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 件のコメント
Walter Roberson
2019 年 5 月 18 日
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.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Pattern Recognition and Classification についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!