LibSVM.classifyInstance(实例实例)抛出java.lang.NullPointerException

时间:2016-02-18 17:10:55

标签: java maven nullpointerexception weka libsvm

我使用了Maven LibSVM 1.0.6版(link

如果我在创建模型之前设置了setProbabilityEstimates(true),那么当我试图对新实例进行分类时,我会得到NullPointerException。

我的代码:

LibSVM svm;
svm = new LibSVM();
svm.setProbabilityEstimates(true);
try {
    svm.buildClassifier(training);
} catch (Exception e) {
    e.printStackTrace();
}

svm.classifyInstance(newInstance);

异常堆栈跟踪:

  

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)   在   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   在java.lang.reflect.Method.invoke(Method.java:497)at   weka.classifiers.functions.LibSVM.invokeMethod(LibSVM.java:1339)at at   weka.classifiers.functions.LibSVM.distributionForInstance(LibSVM.java:1497)   在bgu.ml.Main.main(Main.java:36)引起:   java.lang.ArrayIndexOutOfBoundsException:1 at   libsvm.svm.svm_get_labels(svm.java:2296)... 9更多

由于

1 个答案:

答案 0 :(得分:1)

问题出现了,因为火车组和测试装置的标题不相同。 更深刻的是,当测试只是假的时候,火车有真假两类的实例。