The SMOTE could only be performed on the training data, so how can we do it using Weka? It means we have to put the training and test data in two separate files and run the SMOTE on the training file, so how can we load two datasets to Weka and perform these steps?


Even I'm also not sure about Weka, but so far I read, it provides functionality for data mining, data pre-processing, model training.

Generally what I do,

In case of pre-processing: model generated after pre-processing of training data(it includes SMOTE data), I save this model. Saved model is used to pre-process test data.

Let me know in case, you are expecting something different in answer.

  • $\begingroup$ yes I think it seems reasonable. I think in Weka, we can also do it: train the model, save it, and then provide the different dataset (using Supplied Test set) to test the model. In that case, we have to perform the SMOTE only on the train set. Thanks $\endgroup$ – Khan Jul 15 '19 at 8:46

I haven't used SMOTE in Weka so I don't know about your specific question, but in general Weka allows you to apply some preprocessing and generate an .arff file as output (for example when doing feature selection). It's probably also possible to chain the different stages in a single command, but that would probably involve a complex list of arguments.

Hopefully reading some tutorials about preprocessing like the following will help you and you can adapt it to your case: http://facweb.cs.depaul.edu/mobasher/classes/ect584/WEKA/preprocess.html

  • $\begingroup$ thanks for providing the link. $\endgroup$ – Khan Jul 15 '19 at 8:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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