Beispiel #1
0
    def test_mean_predictor_recommender(self):
        db_dir = os.path.join(BASE_DIR, 'data', 'recommenders')

        init_recommender_params = {
            'neighbourhood_size': 2, 'predictor_name': 'mean'
        }

        evaluator = RecommenderEvaluator(
            db_dir, recommender_class=PredictorRecommender,
            init_recommender_params=init_recommender_params)
        evaluator.run()

        assert evaluator.f1 > 0
        assert evaluator.precision > 0
        assert evaluator.recall > 0

        init_recommender_params = {
            'neighbourhood_size': 15, 'predictor_name': 'mean'
        }
        evaluator2 = RecommenderEvaluator(
            db_dir, recommender_class=PredictorRecommender,
            init_recommender_params=init_recommender_params)
        evaluator2.run()

        assert evaluator2.f1 > 0
        assert evaluator2.precision > 0
        assert evaluator2.recall > 0
Beispiel #2
0
    def test_frequent_item_recommender(self):
        db_dir = os.path.join(BASE_DIR, 'data', 'recommenders')
        init_recommender_params = {'neighbourhood_size': 3}
        evaluator = RecommenderEvaluator(
            db_dir, recommender_class=FrequentItemRecommender,
            init_recommender_params=init_recommender_params)
        evaluator.run()
        assert evaluator.f1 > 0
        assert evaluator.precision > 0
        assert evaluator.recall > 0

        init_recommender_params = {'neighbourhood_size': 11}
        evaluator2 = RecommenderEvaluator(
            db_dir, recommender_class=FrequentItemRecommender,
            init_recommender_params=init_recommender_params)
        evaluator2.run()
        assert evaluator2.f1 > 0
        assert evaluator2.precision > 0
        assert evaluator2.recall > 0
Beispiel #3
0
    def __init__(self,
                 kn=None,
                 neighbourhood_size=10,
                 similarity_metric='msd'):
        db_dir = os.path.join(app.config['DATA_DIR'], 'db', 'ml-latest-small')

        init_recommender_params = {
            'neighbourhood_size': neighbourhood_size,
            'similarity_metric': similarity_metric
        }
        app.logger.info('Starting FrequentItemRecommender Evaluator')
        self.evaluator = RecommenderEvaluator(
            db_dir,
            recommender_class=FrequentItemRecommender,
            init_recommender_params=init_recommender_params,
            n_splits=kn)
        self.evaluator.run()
        self.total_execution_time = self.evaluator.total_execution_time