Я использую weka в java-коде. Я знаю, что CrossValidation можно использовать для оценки модели.Однако мне нужно обучить модель с использованием метода CrossValidation, а затем применить ту же модель к тестовому набору.Мой вопрос: возможна ли эта опция, когда weka используется в коде Java?Я использую следующий код, но он не дает желаемых результатов, потому что перекрестная проверка используется для оценки, а не обучения.любая помощь приветствуется.
//BUILD THE MODEL ON TRAIN SET
J48 treeClassifier = new J48();
treeClassifier.setOptions(options);
treeClassifier.buildClassifier(TrainSet);
//SET THE OPTIONS FOR CROSS-VALIDATION METHODE
Random rand = new Random(1);
int NoFolds = 10;
ThresholdCurve tc = new ThresholdCurve();
//EVALUATE THE MODEL ON TRAIN SET
Evaluation ModelEvalution= new Evaluation(TrainSet);
ModelEvalution.evaluateModel(treeClassifier, TrainSet);
System.out.println("Train without cross Validation");
System.out.println(ModelEvalution.toSummaryString());
//APPLY CROSS-VALIDATION ON TRAIN SET
ModelEvalution.crossValidateModel(treeClassifier,TrainSet,NoFolds,rand);
//PRINT MODEL EVALUTIION ON TRAIN SET
System.out.println(ModelEvalution.toSummaryString());
//EVALUATE THE MODEL ON TEST SET
Evaluation ModelEvalutionTest= new Evaluation(TestSet);
ModelEvalutionTest.evaluateModel(treeClassifier, TestSet);
//PRINT MODEL EVALUATION ON TEST SET
System.out.println("The testing results");
System.out.println(ModelEvalutionTest.toSummaryString());