def calculateSimilarItems(self, n, resultFile): # Create a dictionary of items showing which other items they # are most similar to. result = {} c = 0 # self.loadMovieTag() # for i in prefsOnItem: # if i not in self.movieTag: # self.movieTag[i] = [] prefsOnItem = self.transformPrefs(self.prefs) for i in prefsOnItem.keys(): result.setdefault(i, []) for item in prefsOnItem: # Status updates for large datasets c += 1 if c % 5 == 0: print "%d / %d" % (c, len(prefsOnItem)) # Find the most similar items to this one scores = self.topMatches(prefsOnItem, item, similarityMeasure=self.similarityMeasure, n=n) result[item] = scores tool.dumpPickle(result, resultFile)
def calculateSimilarUsers(self, n, resultFile): result = {} c = 0 for i in self.prefs.keys(): result.setdefault(i, []) for user in self.prefs: c += 1 if c % 5 == 0: print "%d / %d" % (c, len(self.prefs)) scores = self.topMatches(self.prefs, user, similarityMeasure=self.similarityMeasure, n=n) result[user] = scores #~ print result[user] tool.dumpPickle(result, resultFile)