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
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
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