How can I do crossvalidation and oversampling with an imbalanced dataset?

I have an imbalanced dataset, with very few observations belonging to category 1 and a lot belonging to category 0. Therefore I want to oversample the smaller class 1. However, then I have to be careful when doing the crossvalidation that the same observation in category 1 is not included in both sets. Does anybody know how to code up the crossvalidation?
X_train = [1 2 3 2 4 5];
y_train = [0 0 0 0 1 1];
X_test = [2 4 1];
y_test = [0 1 0];
What I would do now is to oversample the observations with category 1:
X_train = [1 2 3 2 4 5 4 5];
y_train = [0 0 0 0 1 1 1 1];
Could anybody please help me with the crossvalidation when oversampling?

More Answers (0)

Categories

Find more on Powertrain Blockset in Help Center and File Exchange

Asked:

on 14 Jul 2018

Answered:

on 11 Jul 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!