How to reuse saved classifier created from explorer(in weka) in eclipse java

Mr_Hmp picture Mr_Hmp · Nov 16, 2013 · Viewed 8.7k times · Source

I have created a classifier in WEKA, i saved it on my hard-disk, now I want to use that classifier in eclipse using weka api.

How can i do this? please guide me to this... thank you

Answer

Walter picture Walter · Nov 16, 2013

Here is an example of loading a model to predict the value of instances. The example model is a J48 decision tree created and saved in the Weka Explorer. It was built from the nominal weather data provided with Weka. It is called "tree.model".

 //load model
String rootPath="/some/where/"; 
Classifier cls = (Classifier) weka.core.SerializationHelper.read(rootPath+"tree.model");

//predict instance class values
Instances originalTrain= //load or create Instances to predict

//which instance to predict class value
int s1=0;  

//perform your prediction
double value=cls.classifyInstance(originalTrain.instance(s1));

//get the name of the class value
String prediction=originalTrain.classAttribute().value((int)value); 

System.out.println("The predicted value of instance "+
                    Integer.toString(s1)+
                    ": "+prediction); 

The output from this is:

The predicted value of instance 0: no  

A great beginers resource for the Weka api and Serialization is here!