2014-11-18 3 views
0

Когда я пытаюсь оценить новые данные тестирования уже обученного классификатора, он приносит мне исключение в виде исключения.Ошибка при оценке новых данных по API-интерфейсу weka java

Вот код

String[] optionsj = new String[2]; 

optionsj[0] = "-C"; 
optionsj[1] = "0.25"; 

// a decision tree 
//Training 
Classifier cls = new J48(); 
cls.setOptions(optionsj); 
Evaluation eval = new Evaluation(data); 
Random rand = new Random(1); // using seed = 1 
int folds = 10; 
eval.crossValidateModel(cls, data, folds, rand); 
System.out.println(eval.toSummaryString());  

System.out.println(eval.toClassDetailsString()); 

//Testing 

Evaluation evaltest = new Evaluation(data); 
evaltest.evaluateModel(cls, data2); // line 193 
System.out.println(evaltest.toSummaryString()); 

//data and data2 are two instances of same dataset. 

Ошибка я получаю

Exception in thread "main" java.lang.NullPointerExceptionat 
at weka.classifiers.trees.J48.distributionForInstance(Unknown Source) 
at weka.classifiers.Evaluation.evaluateModelOnceAndRecordPrediction(Unknown Source) 
at weka.classifiers.Evaluation.evaluateModel(Unknown Source) 
at dentis.Simplified.main(Simplified.java:193) 

Я не могу напечатать набор данных без проблем. Что это за проблема? почему это происходит и как это исправить?

+1

Является ли линия, которая рушится на линии 193, вызовет метода оценки? Кроме того, кажется странным, что J48 упоминается в вашей трассировке стека, когда вы используете MLP. –

+0

opz извините, я использовал разные классификаторы MLPNet, и я отправляю неправильный код segmant. сделано исправлено –

+0

Вы только что написали трассировку стека? Есть что-то о «многослойном сценарии», которое кажется не совсем правильным. Возможно, скопируйте фактическое сообщение трассировки стека, пожалуйста :) –

ответ

2

Когда вы используете метод оценки, вам необходимо сначала создать классификатор на обучающем наборе.

cls.buildClassifier(data); 
+0

да ... я понял это утром. Спасибо за ответ –

+0

в любое время. ура ...! – Sudheera

Смежные вопросы