コード例 #1
0
ファイル: test_recommender.py プロジェクト: benbrock26/crab
    def test_local_not_existing_estimatePreference(self):
        userID = "Leopoldo Pires"
        itemID = "You, Me and Dupree"
        # Weighted - With Prune
        recSys = SlopeOneRecommender(self.model, True, False, True)
        self.assertAlmostEquals(2.333333333333, recSys.estimatePreference(userID=userID, itemID=itemID))
        # Weighted - No Prune
        recSys = SlopeOneRecommender(self.model, True, False, False)
        self.assertAlmostEquals(2.333333333333, recSys.estimatePreference(userID=userID, itemID=itemID))
        # No Weighted - No Prune
        recSys = SlopeOneRecommender(self.model, False, False, False)
        self.assertAlmostEquals(2.395833333333, recSys.estimatePreference(userID=userID, itemID=itemID))
        # No Weighted - With Prune
        recSys = SlopeOneRecommender(self.model, False, False, True)
        self.assertAlmostEquals(2.39583333333, recSys.estimatePreference(userID=userID, itemID=itemID))

        # Weighted - StdDev - With Prune
        recSys = SlopeOneRecommender(self.model, True, True, True)
        self.assertAlmostEquals(2.333333333333, recSys.estimatePreference(userID=userID, itemID=itemID))
        # Weighted - StdDev - No Prune
        recSys = SlopeOneRecommender(self.model, True, True, False)
        self.assertAlmostEquals(2.333333333333, recSys.estimatePreference(userID=userID, itemID=itemID))

        # Without Prune- Weighted
        recSys = SlopeOneRecommender(
            DictDataModel(
                {"John": {"A": 5.0, "B": 3.0, "C": 2.0}, "Mark": {"A": 3.0, "B": 4.0}, "Lucy": {"B": 2.0, "C": 5.0}}
            ),
            True,
            False,
            False,
        )
        self.assertAlmostEquals(4.3333333333333, recSys.estimatePreference(userID="Lucy", itemID="A"))
コード例 #2
0
    def test_local_not_existing_estimatePreference(self):
        userID = 'Leopoldo Pires'
        itemID = 'You, Me and Dupree'
        #Weighted - With Prune
        recSys = SlopeOneRecommender(self.model, True, False, True)
        self.assertAlmostEquals(
            2.333333333333,
            recSys.estimatePreference(userID=userID, itemID=itemID))
        #Weighted - No Prune
        recSys = SlopeOneRecommender(self.model, True, False, False)
        self.assertAlmostEquals(
            2.333333333333,
            recSys.estimatePreference(userID=userID, itemID=itemID))
        #No Weighted - No Prune
        recSys = SlopeOneRecommender(self.model, False, False, False)
        self.assertAlmostEquals(
            2.395833333333,
            recSys.estimatePreference(userID=userID, itemID=itemID))
        #No Weighted - With Prune
        recSys = SlopeOneRecommender(self.model, False, False, True)
        self.assertAlmostEquals(
            2.39583333333,
            recSys.estimatePreference(userID=userID, itemID=itemID))

        #Weighted - StdDev - With Prune
        recSys = SlopeOneRecommender(self.model, True, True, True)
        self.assertAlmostEquals(
            2.333333333333,
            recSys.estimatePreference(userID=userID, itemID=itemID))
        #Weighted - StdDev - No Prune
        recSys = SlopeOneRecommender(self.model, True, True, False)
        self.assertAlmostEquals(
            2.333333333333,
            recSys.estimatePreference(userID=userID, itemID=itemID))

        #Without Prune- Weighted
        recSys = SlopeOneRecommender(
            DictDataModel({
                'John': {
                    'A': 5.0,
                    'B': 3.0,
                    'C': 2.0
                },
                'Mark': {
                    'A': 3.0,
                    'B': 4.0
                },
                'Lucy': {
                    'B': 2.0,
                    'C': 5.0
                }
            }), True, False, False)
        self.assertAlmostEquals(
            4.3333333333333,
            recSys.estimatePreference(userID='Lucy', itemID='A'))
コード例 #3
0
ファイル: test_recommender.py プロジェクト: benbrock26/crab
 def test_local_estimatePreference(self):
     userID = "Marcel Caraciolo"
     itemID = "Superman Returns"
     recSys = SlopeOneRecommender(self.model, False, False)
     self.assertAlmostEquals(3.5, recSys.estimatePreference(userID=userID, itemID=itemID))
コード例 #4
0
 def test_local_estimatePreference(self):
     userID = 'Marcel Caraciolo'
     itemID = 'Superman Returns'
     recSys = SlopeOneRecommender(self.model, False, False)
     self.assertAlmostEquals(
         3.5, recSys.estimatePreference(userID=userID, itemID=itemID))