stratifiedkfold
Provides train and validation indices for cross validation while preserving the percentage of samples for each class unlike K Fold.
Syntax
output = stratifiedkfold(X,num_folds,seed)
Inputs
- X
- Input dataset which need to be splitted.
- options
- Type: struct
Outputs
- output
- Type: struct
Example
Usage of stratifiedkfold
X = [1 2; 3 4; 1 2; 3 4];
y = [0 0 1 1];
options.num_folds = 2;
options.seed = 234;
options.shuffle = true;
folds = stratifiedkfold(X,y, options);
for fold_count=1:folds.num_folds
[train_idxs, valid_idxs] = getfold(folds, fold_count);
printf('\nTRAIN: '); printf('%d ', train_idxs);
printf('\nVALID: '); printf('%d ', valid_idxs);
printf('\n=============');
end
TRAIN: 2 4
VALID: 1 3
=============
TRAIN: 1 3
VALID: 2 4
=============