コード例 #1
0
 def _compute_similarity_matrix(self, knn):
     for e in range(self.epochs):
         self.iteration()
     s_tmp = []
     for i in tqdm(range(self.n_items)):
         mat = self.sm[i, :]
         s_tmp.append(utils.knn(mat, knn))
     s = sparse.vstack(s_tmp, format='csr')
     s.setdiag(0)
     self.sm = s
コード例 #2
0
 def _compute_similarity_matrix(self, icm, knn):
     s_tmp = []
     n_items = icm.shape[0]
     m = icm.tocsr()
     m_t = m.T.tocsr()
     for i in tqdm(range(n_items)):
         mat = m[i, :].dot(m_t)
         s_tmp.append(utils.knn(mat, knn))
     s = sparse.vstack(s_tmp, format='csr')
     s.setdiag(0)
     return s
コード例 #3
0
 def _compute_similarity_matrix(self, knn):
     s_tmp = []
     user_factors, item_factors = self.ALS()
     n_items = item_factors.shape[0]
     item_factors = sparse.csr_matrix(item_factors)
     item_factors_T = item_factors.T
     for i in tqdm(range(n_items)):
         mat = item_factors[i, :].dot(item_factors_T)
         s_tmp.append(utils.knn(mat, knn))
     s = sparse.vstack(s_tmp, format='csr')
     s.setdiag(0)
     return s
コード例 #4
0
 def _compute_similarity_matrix(self, icm, knn):
     s_tmp = []
     ucm = self.urm.T
     n_items = icm.shape[0]
     m1 = icm.tocsr()
     m1_t = m1.T.tocsr()
     m2 = ucm.tocsr()
     m2_t = m2.T.tocsr()
     for i in tqdm(range(n_items)):
         cfb_i = m1[i, :].dot(m1_t)
         cf_i = m2[i, :].dot(m2_t)
         mat = self.cbf_weight*cfb_i + self.cf_weight*cf_i
         s_tmp.append(utils.knn(mat, knn))
     s = sparse.vstack(s_tmp, format='csr')
     s.setdiag(0)
     return s