Como usar o SMOTE na API Java Weka?


8

Estou tentando criar um modelo de classificação usando a API Java Weka. Meu conjunto de dados de treinamento tem problemas de desequilíbrio de classe. Por esse motivo, quero usar o SMOTE para reduzir o problema de desequilíbrio de classe. Mas não sei como usá-lo na API Java Weka.

Respostas:


8

Bem-vindo à comunidade.

Você pode usar o seguinte código:

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

Obrigado por seu apoio. Estou tentando aplicar seu código.
Sagor Ali

Fico satisfeito por ouvir isso.
Rejaul Karim
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.