Beispiel #1
0
 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)
     )
Beispiel #2
0
 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))
Beispiel #3
0
 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),
     )
Beispiel #4
0
 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)
     )
Beispiel #5
0
 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))
Beispiel #6
0
 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))
Beispiel #7
0
 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))
Beispiel #8
0
 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)
Beispiel #9
0
	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))
Beispiel #10
0
 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)
Beispiel #11
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))
Beispiel #12
0
 def test_full_recommend(self):
     userID = 'Maria Gabriela'
     recSys = ItemRecommender(self.model, self.similarity, self.strategy,
                              False)
     self.assertEquals([], recSys.recommend(userID, 4))
Beispiel #13
0
	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))
Beispiel #14
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))
Beispiel #15
0
 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))
Beispiel #16
0
 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)
Beispiel #17
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]
Beispiel #19
0
 def test_empty_recommend(self):
     userID = "Marcel Caraciolo"
     recSys = ItemRecommender(self.model, self.similarity, self.strategy, False)
     self.assertEquals([], recSys.recommend(userID, 4))
Beispiel #20
0
 def test_empty_recommend(self):
     userID = 'Marcel Caraciolo'
     recSys = ItemRecommender(self.model, self.similarity, self.strategy,
                              False)
     self.assertEquals([], recSys.recommend(userID, 4))
Beispiel #21
0
 def test_full_recommend(self):
     userID = "Maria Gabriela"
     recSys = ItemRecommender(self.model, self.similarity, self.strategy, False)
     self.assertEquals([], recSys.recommend(userID, 4))
Beispiel #22
0
 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))
Beispiel #23
0
 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))
Beispiel #24
0
	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))