public void test(String modelFile, String testFile, boolean printIndividual) { Ranker ranker = rFact.loadRanker(modelFile); int[] features = ranker.getFeatures(); List<RankList> test = readInput(testFile); if (normalize) normalize(test, features); double rankScore = 0.0; double score = 0.0; for (int i = 0; i < test.size(); i++) { RankList l = ranker.rank(test.get(i)); score = testScorer.score(l); if (printIndividual) System.out.println( testScorer.name() + " " + l.getID() + " " + SimpleMath.round(score, 4)); rankScore += score; } rankScore /= test.size(); if (printIndividual) System.out.println(testScorer.name() + " all " + SimpleMath.round(rankScore, 4)); else System.out.println(testScorer.name() + " on test data: " + SimpleMath.round(rankScore, 4)); }
public double evaluate(Ranker ranker, List<RankList> rl) { List<RankList> l = rl; if (ranker != null) l = ranker.rank(rl); return testScorer.score(l); }