Пример #1
0
 def test_serendipity(self):
     evaluator = reclab.Evaluator(exp, training_set, test_set, user_set,
                                  recommendations)
     serendipity = evaluator.serendipity()
     self.assertAlmostEqual(1 / 6, serendipity)
Пример #2
0
 def test_novelty(self):
     evaluator = reclab.Evaluator(exp, training_set, test_set, user_set,
                                  recommendations)
     novelty = evaluator.novelty()
     self.assertAlmostEqual(np.log(7) / np.log(2) - 2 / 3, novelty)
Пример #3
0
 def test_diversity(self):
     evaluator = reclab.Evaluator(exp, training_set, test_set, user_set,
                                  recommendations)
     diversity = evaluator.diversity()
     self.assertAlmostEqual((2 - np.sqrt(2)) / 3, diversity)
Пример #4
0
 def test_ndcg(self):
     evaluator = reclab.Evaluator(exp, training_set, test_set, user_set,
                                  recommendations)
     ndcg = evaluator.ndcg()
     self.assertAlmostEqual(np.log(3888) / np.log(11664), ndcg)
Пример #5
0
 def test_recall(self):
     evaluator = reclab.Evaluator(exp, training_set, test_set, user_set,
                                  recommendations)
     recall = evaluator.recall()
     self.assertAlmostEqual(17 / 24, recall)
Пример #6
0
 def test_precision_threshold(self):
     local_exp = {'k': 3, 'threshold': 3}
     evaluator = reclab.Evaluator(local_exp, training_set, test_set,
                                  user_set, recommendations)
     precision = evaluator.precision()
     self.assertAlmostEqual(1 / 2, precision)
Пример #7
0
 def test_precision(self):
     evaluator = reclab.Evaluator(exp, training_set, test_set, user_set,
                                  recommendations)
     precision = evaluator.precision()
     self.assertAlmostEqual(5 / 6, precision)
Пример #8
0
 def test_coverage(self):
     evaluator = reclab.Evaluator(exp, training_set, test_set, user_set[:1],
                                  recommendations[:1])
     coverage = evaluator.coverage()
     self.assertAlmostEqual(3 / 4, coverage)