Comment utiliser SMOTE dans l'API Java Weka?

8

J'essaie de construire un modèle de classification à l'aide de l'API Java Weka. Mon ensemble de données d'entraînement présente des problèmes de déséquilibre de classe. Pour cette raison, je veux utiliser SMOTE pour réduire le problème de déséquilibre de classe. Mais, je ne sais pas comment l'utiliser dans l'API Java Weka.

Sagor Ali
la source

Réponses:

8

Bienvenue dans la communauté.

Vous pouvez utiliser le code suivant:

import weka.filters.supervised.instance.SMOTE;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;
import weka.filters.Filter;

Instances data = DataSource.read(".../file.arff"); //Dataset 

SMOTE smote=new SMOTE();  //create object of SMOTE
smote.setInputFormat(data);
Instances data_smote = Filter.useFilter(data, smote); //Apply SMOTE on Dataset
Rejaul Karim
la source
Merci pour votre aide. J'essaie d'appliquer votre code.
Sagor Ali
Je suis heureux d'entendre cela.
Rejaul Karim