Java NullPointerException when using Evaluation.areaUnderROC from Weka

So, I'm trying to evaluate the performance of the classifier on a test instance, and when I try to get the area under ROC, the following error occurs:

java.lang.NullPointerException on weka.classifiers.evaluation.ThresholdCurve.getROCArea (ThresholdCurve.java:268) on weka.classifiers.Evaluation.areaUnderROC (Evaluation.javahaps82) in Classifier_Search.runAda (Classifier_Search.java.java .acrossTest (Classifier_Search.java:142) in Classifier_Search.main (Classifier_Search.java∗11) at sun.reflect.NativeMethodAccessorImpl.invoke0 (native method) at sun.reflect.NativeMethodAccessorImpl.invoke (Unknown source) at sun.legatingMreffflect .invoke (Unknown source) in java.lang.reflect.Method.invoke (Unknown source) at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand (JavacCompiler.java:271)

The code that throws the error is this:

Evaluation eval = new Evaluation(train);
String[] options = {"-P 100", "-S 1", "-I " + it, "-W weka.classifiers.trees.DecisionStump"};
AdaBoostM1 cls = new AdaBoostM1(); 
cls.setOptions(options);
cls.buildClassifier(train);
eval.evaluateModel(cls, test);
int index = test.classIndex();
return eval.areaUnderROC(index);

javadoc (javadoc ), , areaUnderROC valuClassifier. . (, falsePositive) . - ? OldNabble ( Weka).

!

EDIT: , , :

private static Instances readFile(File filename) throws IOException
{
CSVLoader loader = new CSVLoader();
loader.setSource(filename);
Instances data = loader.getDataSet();
data.setClassIndex(data.numAttributes() - 1);
return data;
}

CSV . , - , .

+3
1

, . - , , . weka areaUnderROC, ( , valuClassifier, ), . , . areaUnderROC ( ) : 0 1. , , ( , ), , , - ( ) . , . , , , ( 0 1), .

+3
source

All Articles