split data to train,test and validation
17 views (last 30 days)
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.
0 Comments
Answers (1)
Adam Danz
on 15 Nov 2020
2 Comments
Adam Danz
on 16 Nov 2020
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)]
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!