Exemple #1
0
    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.'
Exemple #2
0
    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.'
Exemple #3
0
    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.')
Exemple #4
0
    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.'
Exemple #5
0
    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.'
Exemple #6
0
    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.'
Exemple #7
0
 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.'