2013-04-18 3 views
-1

Я работаю над этим простым экспериментом на Weka. Я пытаюсь сделать простую перекрестную проверку, и я получил эту ошибку. Ниже выдается сообщение об ошибке с выхода.Java Weka: java.lang.ClassCastException

java.lang.ClassCastException: java.lang.Integer cannot be cast to weka.classifiers.evaluation.output.prediction.AbstractOutput 
at weka.classifiers.Evaluation.evaluateModel(Evaluation.java:1471) 
at assg.Assg.crossValidation(Assg.java:171) 
at assg.Assg.main(Assg.java:160) 

Ниже мой кодирования

public static void crossValidation() throws Exception 
{ 
    eval.evaluateModel(cls, training, 10, new Random(1)); 
    System.out.println(eval.toSummaryString()); 
} 
+0

Какие попытки вы предприняли для решения проблемы самостоятельно? – Antimony

+0

Приношу свои извинения ... Я называю неправильный метод, чтобы перекрестно проверять ... Прошу прощения. Виноват... – 2013-04-18 16:54:46

ответ

0

Вы даже прочитать сообщение об ошибке и документацию для функции вы звоните?

/** 
    * Evaluates the classifier on a given set of instances. Note that 
    * the data must have exactly the same format (e.g. order of 
    * attributes) as the data used to train the classifier! Otherwise 
    * the results will generally be meaningless. 
    * 
    * @param classifier machine learning classifier 
    * @param data set of test instances for evaluation 
    * @param forPredictionsPrinting varargs parameter that, if supplied, is 
    * expected to hold a weka.classifiers.evaluation.output.prediction.AbstractOutput 
    * object 
    * @return the predictions 
    * @throws Exception if model could not be evaluated 
    * successfully 
    */ 
    public double[] evaluateModel(Classifier classifier, 
           Instances data, 
           Object... forPredictionsPrinting) 

Вы пропускание примитивного Int (который autoboxed к java.lang.Integer) в качестве аргумента функции, которая ожидает weka.classifiers.evaluation.output.prediction.AbstractOutput. Очевидно, что вы получите ошибку кастинга, так как типы несовместимы.