split data to train,test and validation
Show older comments
I want to split my data into train and test in a ratio of 70:30,further I want to split my train data into train and validation in a ratio of 60:10. I want 5 folds of such train,test and validation data combination but test data should be same in all 5 folds.
How can I solve this ?
Can any one help me.
Answers (1)
Adam Danz
on 15 Nov 2020
0 votes
2 Comments
Fathima Bareeda
on 16 Nov 2020
How can i solve this using randperm
For example, let's say I want to split up vector "data" into 70/30 training/test sets.
data = rand(1,1000);
trainIdx = randperm(numel(data), round(numel(data)*.7));
testIdx = find(~ismember(1:numel(data), trainIdx));
trainIdx and testIdx are indices of the 'data' vector without overlap. To confirm that,
isequal(sort([trainIdx,testIdx]), 1:numel(data))
The training set will roughly cover 70% while the test set will roughly cover 30%. To confirm that,
[numel(trainIdx)/numel(data), numel(testIdx)/numel(data)]
Categories
Find more on Classification 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!