System.out.println("- Extracting features from training set");
ExampleSet trainingSet = extraction.extractFeatures(basicTrainingExamples, spec);
basicTrainingExamples = null;
Training training = getTrainingImpl();
Model model = training.train(trainingSet);
trainingSet = null;
System.out.println("- Splitting out test set");
SegmentSet testingSegments = new SegmentSet();
testingSegments.setSegments(split.getTestingForFold(segmentSet.getSegments(), foldIndex, this.folds));
if (getBalancingImpl() != null && balanceTestSet) {
testingSegments = getBalancingImpl().balance(testingSegments);
}
System.out.println("- Extracting basic features from test set");
ExampleSet basicTestingExamples = testingSegments.getBasicExamples();
System.out.println("- Extracting features from test set");
ExampleSet testingSet = extraction.extractFeatures(basicTestingExamples, spec);
basicTestingExamples = null;
Predictions predictions = model.getPredictions(testingSet);
EvaluationReport report = new EvaluationReport("Fold " + (foldIndex + 1), falsePositiveCost, falseNegativeCost);
report.addPredictions(predictions);
LabelMapping mapping = getMappingImpl();
mapping.map(predictions, testingSegments);