Balance The Distribution of a Binary or Nominal Variable

Hello,
I am trying to predict a binary target with True/False possible values. The dataset consists of 500 observations, 400 observation is False, and 100 observation is True. In order to avoid model bias, I wish to balance the distribution such that the dataset will consist of 100 False and 100 True observations.
Is there a function in MATLAB that automatically balance binary or nominal distribution? Thank you.

 Accepted Answer

Just get a random distribution and threshold it. To get 500 observations with about 400 false and 100 true, do this
observations = rand(1, 500) > 0.8;
To get 100 true and 100 false, on average, do this
observations = rand(1, 200) > 0.5;

More Answers (0)

Categories

Find more on Random Number Generation 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!