def test_local_not_existing_capper_False_estimatePreference(self): userID = "Leopoldo Pires" itemID = "You, Me and Dupree" recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertAlmostEquals( 3.14717875510, recSys.estimatePreference(userID=userID, similarity=self.similarity, itemID=itemID) )
def test_recommendedBecause(self): userID = 'Leopoldo Pires' itemID = 'Just My Luck' recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertEquals(['The Night Listener', 'Superman Returns'], recSys.recommendedBecause(userID, itemID, 2))
def test_multipeItems_mostSimilarItems(self): itemIDs = ["Superman Returns", "Just My Luck"] recSys = ItemRecommender(self.model, self.similarity, self.strategy, True) self.assertEquals( ["Lady in the Water", "Snakes on a Plane", "The Night Listener", "You, Me and Dupree"], recSys.mostSimilarItems(itemIDs, 4), )
def test_local_estimatePreference(self): userID = "Marcel Caraciolo" itemID = "Superman Returns" recSys = ItemRecommender(self.model, self.similarity, self.strategy, True) self.assertAlmostEquals( 3.5, recSys.estimatePreference(userID=userID, similarity=self.similarity, itemID=itemID) )
def test_allItem_mostSimilarItems(self): itemIDs = [ 'Superman Returns', 'Just My Luck', 'Snakes on a Plane', 'The Night Listener', 'You, Me and Dupree', 'Lady in the Water' ] recSys = ItemRecommender(self.model, self.similarity, self.strategy, True) self.assertEquals([], recSys.mostSimilarItems(itemIDs, 4))
def test_local_estimatePreference(self): userID = 'Marcel Caraciolo' itemID = 'Superman Returns' recSys = ItemRecommender(self.model, self.similarity, self.strategy, True) self.assertAlmostEquals( 3.5, recSys.estimatePreference(userID=userID, similarity=self.similarity, itemID=itemID))
def test_local_not_existing_capper_False_estimatePreference(self): userID = 'Leopoldo Pires' itemID = 'You, Me and Dupree' recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertAlmostEquals( 3.14717875510, recSys.estimatePreference(userID=userID, similarity=self.similarity, itemID=itemID))
def test_create_ItemBasedRecommender(self): recSys = ItemRecommender(self.model, self.similarity, self.strategy, True) self.assertEquals(recSys.similarity, self.similarity) self.assertEquals(recSys.capper, True) self.assertEquals(recSys.strategy, self.strategy) self.assertEquals(recSys.model, self.model)
def test_recommendedBecause(self): userID = 'Leopoldo Pires' itemID = 'Just My Luck' recSys = ItemRecommender(self.model,self.similarity,self.strategy,False) self.assertEquals(['The Night Listener', 'Superman Returns'],recSys.recommendedBecause(userID,itemID,2))
def test_Item_AvgDistanceRecSys(self): evaluator = AverageAbsoluteDifferenceRecommenderEvaluator() recommender = ItemRecommender(self.model, self.similarity_item, self.strategy, False) result = evaluator.evaluate(recommender, self.model, 0.7, 1.0)
def test_semi_recommend(self): userID = 'Leopoldo Pires' recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertEquals(['Just My Luck'], recSys.recommend(userID, 1))
def test_full_recommend(self): userID = 'Maria Gabriela' recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertEquals([], recSys.recommend(userID, 4))
def test_local_not_existing_rescorer_estimatePreference(self): userID = 'Leopoldo Pires' itemID = 'You, Me and Dupree' recSys = ItemRecommender(self.model,self.similarity,self.strategy,False) scorer = TanHScorer() self.assertAlmostEquals(3.1471787551,recSys.estimatePreference(userID=userID,similarity=self.similarity,itemID=itemID,rescorer=scorer))
def test_semi_recommend(self): userID = "Leopoldo Pires" recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertEquals(["Just My Luck"], recSys.recommend(userID, 1))
def test_recommend(self): userID = "Leopoldo Pires" recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertEquals(["Just My Luck", "You, Me and Dupree"], recSys.recommend(userID, 4))
def test_Item_RMSRecommenderEvaluator(self): evaluator = RMSRecommenderEvaluator() recommender = ItemRecommender(self.model, self.similarity_item, self.strategy, False) result = evaluator.evaluate(recommender, self.model, 0.7, 1.0)
def test_Item_IRStatsRecommenderEvaluator(self): evaluator = IRStatsRecommenderEvaluator() recommender = ItemRecommender(self.model, self.similarity_item, self.strategy, False) result = evaluator.evaluate(recommender, self.model, 2, 1.0) print result
if (len(df) > 100000): test = df.sample(100000).groupby('userId') else: test = df.groupby('userId') data = {} for key, grp in test: Test = grp.drop('userId', axis=1) data[key] = Test.set_index('movieId').T.to_dict('records')[0] model = DictDataModel(data) similarity = ItemSimilarity( model, topicSimilarityCache, topicDistribution=joblib.load('cache/JSD.pkl'), movieIndex=movieId) items_strategy = PreferredItemsNeighborhoodStrategy() recSys = ItemRecommender(model, similarity, items_strategy) evaluator = AverageAbsoluteDifferenceRecommenderEvaluator() temp = Parallel(n_jobs=3)( delayed(parallel)(evaluator, recSys, model, i) for i in range(6, 10)) for a in range(0, 4): dummy[a] += temp[a] similarity = ItemSimilarity(model, sim_euclidian) items_strategy = PreferredItemsNeighborhoodStrategy() recSys = ItemRecommender(model, similarity, items_strategy) evaluator = AverageAbsoluteDifferenceRecommenderEvaluator() temp = Parallel(n_jobs=3)( delayed(parallel)(evaluator, recSys, model, i) for i in range(6, 10)) for a in range(0, 4): dummy2[a] += temp[a]
def test_empty_recommend(self): userID = "Marcel Caraciolo" recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertEquals([], recSys.recommend(userID, 4))
def test_empty_recommend(self): userID = 'Marcel Caraciolo' recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertEquals([], recSys.recommend(userID, 4))
def test_full_recommend(self): userID = "Maria Gabriela" recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertEquals([], recSys.recommend(userID, 4))
def test_recommend(self): userID = 'Leopoldo Pires' recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertEquals(['Just My Luck', 'You, Me and Dupree'], recSys.recommend(userID, 4))
def test_recommendedBecause(self): userID = "Leopoldo Pires" itemID = "Just My Luck" recSys = ItemRecommender(self.model, self.similarity, self.strategy, False) self.assertEquals(["The Night Listener", "Superman Returns"], recSys.recommendedBecause(userID, itemID, 2))
def test_allItem_mostSimilarItems(self): itemIDs = ['Superman Returns','Just My Luck','Snakes on a Plane', 'The Night Listener', 'You, Me and Dupree','Lady in the Water'] recSys = ItemRecommender(self.model,self.similarity,self.strategy,True) self.assertEquals([],recSys.mostSimilarItems(itemIDs,4))