def testEvaluateRankingLastZeroWithCutoff(self):
     ev = NdcgEval()
     dot_prod = np.dot(self.query.get_feature_vectors(),
                       self.zero_weights.transpose())
     ranking = ev._sort_docids_by_score(self.query.get_docids(),
                                        dot_prod,
                                        ties="last")
     self.assertAlmostEquals(
         0.4452805, ev.evaluate_ranking(ranking, self.query, cutoff=10))
Exemplo n.º 2
0
    def __init__(self, folder: Path, um: str) -> None:
        train = str(folder / "train.txt")
        test = str(folder / "test.txt")

        self.n_rankers = 5
        self.num_features = 45
        self.train = load_queries(train, self.num_features)
        self.test = load_queries(test, self.num_features)

        print("Found {} train queries and {} test queries.".format(
            len(self.train), len(self.test)))

        self.ml = TeamDraftMultileave()
        self.rankers = np.array([
            ProbabilisticRankingFunction("1", "random", self.num_features)
            for _ in range(self.n_rankers)
        ])
        self.eval = NdcgEval()
        self.um = CascadeUserModel(um)
        self.cutoff = 10

        print("OK")
 def testGetNdcg(self):
     ev = NdcgEval()
     self.assertAlmostEqual(ev.get_ndcg([0, 0, 1, 0], [1, 0, 0, 0]), 0.5)
     self.assertAlmostEqual(ev.get_ndcg([0, 1, 0, 0], [1, 0, 0, 0]),
                            0.6309298)
     self.assertAlmostEqual(ev.get_ndcg([0, 0, 0, 0], [1, 0, 0, 0]), 0)