0
У меня есть следующий код, в котором я применил классификатор набора учебных данных, который я хочу сохранить (с перекрестной проверкой) в качестве модели. и применить его снова в наборе тестовых данных.Как сохранить модель и применить ее в тестовом наборе данных на java
import weka.core.Instances;
import weka.classifiers.trees.J48;
import weka.classifiers.Evaluation;
import java.util.Random;
import java.io.BufferedReader;
import java.io.FileReader ;
public class EECS_738
{
public static void main(String[] args) throws Exception {
// training
BufferedReader reader = null;
reader=new BufferedReader(new FileReader("/Users/Sumiah/Desktop/ProjectTraining&TestingData/project/EECS738_Train_Project.arff"));
Instances train =new Instances (reader);
train.setClassIndex(0);
reader.close();
J48 j48 = new J48();
j48.buildClassifier(train);
Evaluation eval = new Evaluation(train);
eval.crossValidateModel(j48, train, 10 , new Random(1));
System.out.println(eval.toSummaryString("\n Results \n=====\n",true));
System.out.println(eval.fMeasure(1)+" "+eval.precision(1)+" "+eval.recall(1)+" ");
}
}
Классификатор Wekas реализует сериализуемое использование, поэтому используйте ObjectOutputStream – user
Я не получил * с частью перекрестной проверки *. Модель, которую вы собираетесь сохранить, будет взята из всех данных обучения. Перекрестная проверка - это всего лишь процесс оценки. –