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 中查找有关 Image Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!