Search code examples
javawekaj48

Classification rate Weka Java API


I would like to get the classification rate for a tree constructed using J48.

DataSource source = new DataSource(Path);
Instances data = source.getDataSet();
J48 tree = tree.buildClassifier(data);

I know it has something to do with

public double getMeasure(java.lang.String additionalMeasureName)

But i can't find the correct String (additionalMeasureName) to use.


Solution

  • I just found an answer to my question using Evaluation class. The code should be:

    //Learning
    DataSource source = new DataSource(Path);
    Instances data = source.getDataSet();
    J48 tree = new J48();
    tree.buildClassifier(data);
    
    //Evaluation
    Evaluation eval = new Evaluation(data);
    eval.evaluateModel(tree, data);
    System.out.println((eval.correct()/data.numInstances())*100);
    

    This tests the decision tree using the learning data an displays the percentage of correctly classified instances.