I have tried to code a simple java program that read a csv file, create a naive bayes model and save the output model. But the compiler give me this error:
com.rapidminer.operator.OperatorCreationException: No operator description object given for 'com.rapidminer.operator.io.CSVDataReader'
at com.rapidminer.tools.OperatorService.createOperator(OperatorService.java:583)
at rapidProcess.exampleProcess.main(exampleProcess.java:24)
But in the API the CSVDataReader is included in com.rapidminer.operator.io so I don't understand the error.
This is the very simple code. Thanks in advance.
package rapidProcess;
import com.rapidminer.RapidMiner;
import com.rapidminer.operator.Operator;
import com.rapidminer.operator.OperatorCreationException;
import com.rapidminer.operator.OperatorException;
import com.rapidminer.operator.io.CSVDataReader;
import com.rapidminer.operator.io.ModelWriter;
import com.rapidminer.operator.learner.bayes.NaiveBayes;
import com.rapidminer.tools.OperatorService;
import com.rapidminer.Process;
public class exampleProcess {
/**
* @param args
*/
public static void main(String[] args) {
RapidMiner.init();
try {
/* Reading Data */
Operator trainingDataReader = OperatorService.createOperator(CSVDataReader.class);
trainingDataReader.setParameter("csv_file", "train.csv");
/* Classifier */
Operator bayesClassifier = OperatorService.createOperator(NaiveBayes.class);
/* Save model */
Operator modelWriter = OperatorService.createOperator(ModelWriter.class);
modelWriter.setParameter("model_file", "prova_model");
trainingDataReader.getOutputPorts().getPortByName("output").connectTo(bayesClassifier.getInputPorts().getPortByName("training set"));
bayesClassifier.getOutputPorts().getPortByName("model").connectTo(modelWriter.getInputPorts().getPortByName("input"));
Process process = new Process();
process.getRootOperator().getSubprocess(0).addOperator(bayesClassifier);
process.run();
} catch (OperatorCreationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OperatorException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}