public static EvaluateDiscrete structuredCVal(StructuredCommaClassifier model, Parser parser, boolean useGoldFeatures, boolean testOnTrain) throws Exception { Comma.useGoldFeatures(useGoldFeatures); int k = 5; parser.reset(); FoldParser foldParser = new FoldParser(parser, k, SplitPolicy.sequential, 0, false); EvaluateDiscrete cvalResult = new EvaluateDiscrete(); for (int i = 0; i < k; foldParser.setPivot(++i)) { foldParser.setFromPivot(false); foldParser.reset(); LinkedHashSet<CommaSRLSentence> trainSentences = new LinkedHashSet<>(); for (Object comma = foldParser.next(); comma != null; comma = foldParser.next()) { trainSentences.add(((Comma) comma).getSentence()); } model.train(new ArrayList<>(trainSentences), null); if (!testOnTrain) foldParser.setFromPivot(true); foldParser.reset(); LinkedHashSet<CommaSRLSentence> testSentences = new LinkedHashSet<>(); for (Object comma = foldParser.next(); comma != null; comma = foldParser.next()) { testSentences.add(((Comma) comma).getSentence()); } EvaluateDiscrete evaluator = model.test(new ArrayList<>(testSentences), null); cvalResult.reportAll(evaluator); } cvalResult.printPerformance(System.out); return cvalResult; }
public static EvaluateDiscrete structuredCVal(StructuredCommaClassifier model, Parser parser, boolean useGoldFeatures, boolean testOnTrain) throws Exception { Comma.useGoldFeatures(useGoldFeatures); int k = 5; parser.reset(); FoldParser foldParser = new FoldParser(parser, k, SplitPolicy.sequential, 0, false); EvaluateDiscrete cvalResult = new EvaluateDiscrete(); for (int i = 0; i < k; foldParser.setPivot(++i)) { foldParser.setFromPivot(false); foldParser.reset(); LinkedHashSet<CommaSRLSentence> trainSentences = new LinkedHashSet<>(); for (Object comma = foldParser.next(); comma != null; comma = foldParser.next()) { trainSentences.add(((Comma) comma).getSentence()); } model.train(new ArrayList<>(trainSentences), null); if (!testOnTrain) foldParser.setFromPivot(true); foldParser.reset(); LinkedHashSet<CommaSRLSentence> testSentences = new LinkedHashSet<>(); for (Object comma = foldParser.next(); comma != null; comma = foldParser.next()) { testSentences.add(((Comma) comma).getSentence()); } EvaluateDiscrete evaluator = model.test(new ArrayList<>(testSentences), null); cvalResult.reportAll(evaluator); } cvalResult.printPerformance(System.out); return cvalResult; }
boolean clone, boolean statusMessages) { Parser originalParser = foldParser.getParser(); foldParser.setFromPivot(true); foldParser.setFromPivot(false); if (metric instanceof Accuracy) result *= 100;
EvaluateDiscrete performanceRecord = new EvaluateDiscrete(); for (int i = 0; i < k; foldParser.setPivot(++i)) { foldParser.setFromPivot(false); foldParser.reset(); learner.forget(); bt.train(learningRounds); if (!testOnTrain) foldParser.setFromPivot(true); foldParser.reset(); Comma.useGoldFeatures(testOnGold);
EvaluateDiscrete performanceRecord = new EvaluateDiscrete(); for (int i = 0; i < k; foldParser.setPivot(++i)) { foldParser.setFromPivot(false); foldParser.reset(); learner.forget(); bt.train(learningRounds); if (!testOnTrain) foldParser.setFromPivot(true); foldParser.reset(); Comma.useGoldFeatures(testOnGold);
FoldParser foldParser = new FoldParser(parser, k, SplitPolicy.sequential, 0, false); for (int i = 0; i < k; foldParser.setPivot(++i)) { foldParser.setFromPivot(false); foldParser.reset(); learner.forget(); bt.train(250); learner.save(); foldParser.setFromPivot(true); foldParser.reset(); unconstrainedPerformance.reportAll(EvaluateDiscrete.evaluateDiscrete(learner,
FoldParser foldParser = new FoldParser(parser, k, SplitPolicy.sequential, 0, false); for (int i = 0; i < k; foldParser.setPivot(++i)) { foldParser.setFromPivot(false); foldParser.reset(); learner.forget(); bt.train(250); learner.save(); foldParser.setFromPivot(true); foldParser.reset(); unconstrainedPerformance.reportAll(EvaluateDiscrete.evaluateDiscrete(learner,