Skip to content

Commit

Permalink
Add main class that runs the best classifier known so far (fixes #26)
Browse files Browse the repository at this point in the history
  • Loading branch information
michelole committed Apr 3, 2018
1 parent 796c0ff commit d22fbdf
Showing 1 changed file with 36 additions and 2 deletions.
38 changes: 36 additions & 2 deletions src/main/java/at/medunigraz/imi/bst/n2c2/BestClassifierRunner.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,41 @@
package at.medunigraz.imi.bst.n2c2;

import at.medunigraz.imi.bst.n2c2.classifier.factory.BestClassifierFactory;
import at.medunigraz.imi.bst.n2c2.classifier.factory.ClassifierFactory;
import at.medunigraz.imi.bst.n2c2.evaluator.Evaluator;
import at.medunigraz.imi.bst.n2c2.evaluator.InterAnnotatorAgreement;
import at.medunigraz.imi.bst.n2c2.model.Criterion;
import at.medunigraz.imi.bst.n2c2.model.Patient;
import at.medunigraz.imi.bst.n2c2.stats.StatsWriter;
import at.medunigraz.imi.bst.n2c2.stats.XMLStatsWriter;
import at.medunigraz.imi.bst.n2c2.util.DatasetUtil;
import at.medunigraz.imi.bst.n2c2.validation.CrossValidator;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public class BestClassifierRunner {
public static void main(String[] args) {


private static final Logger LOG = LogManager.getLogger();

public static void main(String[] args) throws IOException {
final File dataFolder = new File("data");
final File statsFile = new File("stats/best.xml");

List<Patient> patients = DatasetUtil.loadFromFolder(dataFolder);
ClassifierFactory factory = new BestClassifierFactory();
Evaluator evaluator = new InterAnnotatorAgreement();

CrossValidator cv = new CrossValidator(patients, factory, evaluator);
Map<Criterion, Double> metrics = cv.evaluate();
LOG.info(metrics);

StatsWriter writer = new XMLStatsWriter(statsFile);
writer.write(metrics);
writer.close();
}
}

0 comments on commit d22fbdf

Please sign in to comment.