Esempio n. 1
0
 def setUp(self):
     self.dataset = {
         'Lisa Rose': {
             'Lady in the Water': 2.5,
             'Snakes on a Plane': 3.5,
             'Just My Luck': 3.0,
             'Superman Returns': 3.5,
             'You, Me and Dupree': 2.5,
             'The Night Listener': 3.0
         },
         'Gene Seymour': {
             'Lady in the Water': 3.0,
             'Snakes on a Plane': 3.5,
             'Just My Luck': 1.5,
             'Superman Returns': 5.0,
             'The Night Listener': 3.0,
             'You, Me and Dupree': 3.5
         },
         'Michael Phillips': {
             'Lady in the Water': 2.5,
             'Snakes on a Plane': 3.0,
             'Superman Returns': 3.5,
             'The Night Listener': 4.0
         },
         'Claudia Puig': {
             'Snakes on a Plane': 3.5,
             'Just My Luck': 3.0,
             'The Night Listener': 4.5,
             'Superman Returns': 4.0,
             'You, Me and Dupree': 2.5
         },
         'Mick LaSalle': {
             'Lady in the Water': 3.0,
             'Snakes on a Plane': 4.0,
             'Just My Luck': 2.0,
             'Superman Returns': 3.0,
             'The Night Listener': 3.0,
             'You, Me and Dupree': 2.0
         },
         'Jack Matthews': {
             'Lady in the Water': 3.0,
             'Snakes on a Plane': 4.0,
             'The Night Listener': 3.0,
             'Superman Returns': 5.0,
             'You, Me and Dupree': 3.5
         },
         'Toby': {
             'Snakes on a Plane': 4.5,
             'You, Me and Dupree': 1.0,
             'Superman Returns': 4.0
         }
     }
     self.wrapper = DataWrapper(self.dataset)
Esempio n. 2
0
 def __init__(self,
              data=dict(),
              numRecommendations=1,
              db=None,
              metric="rating",
              school="gatech"):
     self.dataset = DataWrapper(instances=data,
                                db=db,
                                school=school,
                                metric=metric)
     self.updated = False
     self.sparsedata = None
     self.sparseifyData()
     try:
         self.svd = TruncatedSVD(n_components=numRecommendations)
         self.model = self.svd.inverse_transform(
             self.svd.fit_transform(self.sparsedata))
     except ValueError:
         self.svd = None
         self.model = None
         raise ValueError("Not enough ratings for predictions")