Я хотел поиграть с Evaluation API, например, чтобы выполнить десятикратную оценку и посмотреть статистику точности. Тем не менее, очень простой код ниже (и все подобные) не компилируется. Есть сообщение об ошибке, в котором говорится
Конструктор Evaluation (Instances) не определен
Еще один говорит:
Метод crossValidateModel (. ..) не определено для типа Evaluation.
Я предполагаю, что используется неверная версия classifiers.evaluation.
Любая помощь?
См. Ниже код, спасибо
import weka.core.Instances;
import java.util.Random;
import weka.core.converters.ConverterUtils.DataSource;
import weka.classifiers.trees.J48;
import weka.classifiers.Classifier;
import weka.classifiers.evaluation.*;
public class Evaluation{
public static void main(String args[]) throws Exception{
DataSource source = new DataSource("C:/Program Files/Weka-3-8/data/breast-cancerKnown.arff");
Instances data = source.getDataSet();
Classifier cls = new J48();
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());
}
}
Исключение в потоке "main" java .lang.Error: Неразрешенные проблемы компиляции: Конструктор Evaluation (Instances) не определен Метод crossValidateModel (Classifier, Instances, int, Random) не определен для типа Evaluation. Метод toSummaryString () не определен для типа Evaluation
в Evaluation.main (Evaluation. java: 32) * 1023. *