def computeCorr(self): 'compute correlation among items' print 'Computing item correlation...' for i1 in self.dao.testSet_i: for i2 in self.dao.item: if i1 <> i2: if self.itemSim.contains(i1,i2): continue sim = qmath.similarity(self.dao.sCol(i1),self.dao.sCol(i2),self.sim) self.itemSim.set(i1,i2,sim) print 'item '+i1+' finished.' print 'The item correlation has been figured out.'
def computeCorr(self): 'compute correlation among users' print 'Computing user correlation...' for u1 in self.dao.testSet_u: for u2 in self.dao.user: if u1 <> u2: if self.userSim.contains(u1,u2): continue sim = qmath.similarity(self.dao.row(u1),self.dao.row(u2),self.sim) self.userSim.set(u1,u2,sim) print 'user '+u1+' finished.' print 'The user correlation has been figured out.'
def computeCorr(self): 'compute correlation among items' print('Computing item correlation...') for i1 in self.data.testSet_i: for i2 in self.data.item: if i1 != i2: if self.itemSim.contains(i1,i2): continue sim = qmath.similarity(self.data.sCol(i1),self.data.sCol(i2),self.sim) self.itemSim.set(i1,i2,sim) self.topItems[i1] = sorted(self.itemSim[i1].iteritems(),key = lambda d:d[1],reverse=True) print('item '+i1+' finished.') print('The item correlation has been figured out.')
def computeCorr(self): 'compute correlation among users' print 'Computing user similarities...' for idx,u1 in enumerate(self.data.testSet_u): for u2 in self.data.user: if u1 <> u2: if self.userSim.contains(u1,u2): continue sim = qmath.similarity(self.data.sRow(u1),self.data.sRow(u2),self.sim) self.userSim.set(u1,u2,sim) self.topUsers[u1]=sorted(self.userSim[u1].iteritems(), key=lambda d: d[1], reverse=True) if idx%100==0: print 'progress:',idx,'/',len(self.data.testSet_u) print 'The user similarities have been calculated.'
def computeCorr(self): 'compute correlation among users' print 'Computing user correlation...' for u1 in self.data.testSet_u: for u2 in self.data.user: if u1 <> u2: if self.userSim.contains(u1, u2): continue sim = qmath.similarity(self.data.sRow(u1), self.data.sRow(u2), self.sim) self.userSim.set(u1, u2, sim) self.topUsers[u1] = sorted(self.userSim[u1].iteritems(), key=lambda d: d[1], reverse=True) print 'user ' + u1 + ' finished.' print 'The user correlation has been figured out.'
def computeCorr(self): 'compute correlation among items' print 'Computing item similarities...' for idx, i1 in enumerate(self.data.testSet_i): for i2 in self.data.item: if i1 <> i2: if self.itemSim.contains(i1, i2): continue sim = qmath.similarity(self.data.sCol(i1), self.data.sCol(i2), self.sim) self.itemSim.set(i1, i2, sim) self.topItems[i1] = sorted(self.itemSim[i1].iteritems(), key=lambda d: d[1], reverse=True) if idx % 100 == 0: print 'progress:', idx, '/', len(self.data.testSet_i) print 'The item similarities have been calculated.'
def computeUCorr(self): 'compute correlation among users' print 'Computing user correlation...' for u1 in self.dao.testSet_u: for u2 in self.dao.user: if u1 <> u2: if self.userSim.contains(u1, u2): continue sim = qmath.similarity(self.dao.sRow(u1), self.dao.sRow(u2), self.sim) if sim >= self.v: self.userSim.set(u1, u2, 1) else: self.userSim.set(u1, u2, 0) tcount = 0 for i in range(len(self.userSim[u1])): us = list(self.userSim[u1].iteritems()) if us[i][1] == 1: tcount += 1 print 'user ' + u1 + ' finished.' print 'The user correlation has been figured out.'