I'm using Random Forest in the CARET package to tag a binary outcome with 1/10 ratio, thus I need to balance the dataset.
I know two ways:
Use SMOTE as a stand-alone function and then pass it to the training.
Use
sampling='smote'
inside CARET's training
As far as I understand, the first approach should be better, for it uses the whole data set to synthesize new samples (I know it uses only the 5 nearest neighbors by default, but still have more data points to choose from) while the second method only uses the data points available in each partition of the CV.
However, are there any benefits in balancing inside the CV?