I have a data set that's severely class imbalanced GOOD=500 & BAD= 4. I used ROSE from the ROSE{} package in R to perform SMOTE.

Question 1: when I do this My data class almost evens up, is it advisable to even do this given how much synthetic data it had to produce..?

Question 2: The row count remains the same after SMOTE so what happened to most of the class=GOOD..where they discarded or converted via ROSE..?

Question 3: What exactly is the ROSE function doing to my data, I know its a NN type approach..?

I'm sorry if this isn't a good fit for this site.


  • $\begingroup$ What parameters did you use for calling SMOTE? The answer lies in how you are calling the function and I would advise you include that information as well $\endgroup$
    – godspeed
    Commented Oct 12, 2016 at 11:27
  • $\begingroup$ The only argument I have in there is seed heres the call : data.rose <- ROSE(RUNTYPE~., data=data3, seed=1)$data $\endgroup$
    – PaulB.
    Commented Oct 12, 2016 at 11:40

1 Answer 1


Question 1: I would advise that you experiment with how much of the rarer class helps predictive power and when it begins to hurt. You can control the ratio of rarer class to majority class using the "p" argument. By default, "p" is 0.5 meaning you get 50-50 of the majority and minority class in the resulting data.

Question 2: Look up the default values of the arguments to ROSE that you did not specify. Specifically, look up the "N" argument. By default, it would return the data of same size as the input but you can change this by assigning N a value larger than the number of rows in your original data set

Question 3: See the R documentation on ROSE. The following is copied word for word from the documentation: "Essentially, ROSE selects an observation belonging to the class k and generates new examples in its neighbourhood, where the width of the neighbourhood is determined by H_k. The user is allowed to shrink H_k by varying arguments h.mult.majo and h.mult.mino. Balancement is regulated by argument p, i.e. the probability of generating examples from class k=1."


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.