MATLAB: Balance The Distribution of a Binary or Nominal Variable

balance distributionStatistics and Machine Learning Toolbox

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.

Best 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;
Related Question