Split a dataset into training set and test set using the cross-validation principle
조회 수: 4 (최근 30일)
이전 댓글 표시
Hello everyone,
I have a dataset set of about 50 images, and I would like to split the dataset into training and test sets. I would like to do it in the way as cross-validation. That is, I would like to split the data into 5 equivalent subsets. Then, four of the subsets would be used as training data and the remaining one subset for testing. Finally, I would have five sets of experimental data comprising each a training set and a test set. I can perform this task online while training the network using some built-in functions. However, in this scenario, I would like to split the data offline (before the training) for conducting some experiments. Given my poor programming skills, I am unable to implement. Please, how can I achieve this? Any suggestions and comments would be highly appreciated.
댓글 수: 0
답변 (1개)
yanqi liu
2021년 2월 1일
please use crossvalind,reference resources
such as
clc; clear all; close all;
% total 50
% split to 5
indices = crossvalind('Kfold', 50, 5);
for i=1:5
fprintf('\ndemo %d\n', i);
ind1=find(indices==i);
ind2=find(indices~=i);
fprintf('\nuse for train\n');
disp(ind2(:)');
fprintf('\nuse for test\n');
disp(ind1(:)');
end
demo 1
use for train
列 1 至 10
1 2 3 4 5 6 7 8 9 10
列 11 至 20
11 15 17 18 19 21 22 23 24 25
列 21 至 30
26 28 29 31 32 33 36 37 38 39
列 31 至 40
40 41 42 43 44 45 46 47 48 49
use for test
12 13 14 16 20 27 30 34 35 50
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Hypothesis Tests에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!