Beispiel #1
0
 def model(self, alpha=1, k=200, shrink=0, threshold=0, target_items=None):
         if target_items is None: target_items=self.dr.get_test_pids() # work with s*urm
         self.alpha = alpha
         self.k = k
         self.shrink, self.threshold = shrink, threshold
         self.s = ss.p3alpha_similarity(self.m_uc, self.m_cu,
                 k=k, shrink=shrink, alpha=alpha, threshold=threshold,
                 verbose=self.verbose, target_items=target_items)
 def model(self, alpha=1, k=200, shrink=0, threshold=0, target_items=None):
     #if target_items is None it calculate the whole similarity
     self.alpha = alpha
     self.k = k
     self.shrink, self.threshold = shrink, threshold
     self.s = ss.p3alpha_similarity(self.m_ic,
                                    self.m_ci,
                                    k=k,
                                    shrink=shrink,
                                    alpha=alpha,
                                    threshold=threshold,
                                    verbose=self.verbose,
                                    target_items=target_items)
Beispiel #3
0
 def model(self,
           alpha=1,
           beta=0,
           k=200,
           shrink=0,
           power=1,
           threshold=0,
           rp3_mode=0,
           target_items=None):
     if target_items is None:
         target_items = self.dr.get_test_pids()  # work with s*urm
     self.alpha, self.beta = alpha, beta
     self.k = k
     self.power = power
     self.shrink, self.threshold = shrink, threshold
     self.rp3_mode = rp3_mode
     if self.similarity == 'tversky':
         self.s = ss.tversky_similarity(self.m_ui,
                                        self.m_iu,
                                        k=k,
                                        shrink=shrink,
                                        alpha=alpha,
                                        beta=beta,
                                        threshold=threshold,
                                        verbose=self.verbose,
                                        target_items=target_items)
     elif self.similarity == 'p3alpha' and beta == 0:
         self.s = ss.p3alpha_similarity(self.m_ui,
                                        self.m_iu,
                                        k=k,
                                        shrink=shrink,
                                        alpha=alpha,
                                        threshold=threshold,
                                        verbose=self.verbose,
                                        target_items=target_items)
     elif self.similarity == 'rp3beta':
         self.s = p3r3.p3alpha_rp3beta_similarity(self.m_ui,
                                                  self.m_iu,
                                                  self.pop,
                                                  k=k,
                                                  shrink=shrink,
                                                  alpha=alpha,
                                                  beta=beta,
                                                  threshold=threshold,
                                                  verbose=self.verbose,
                                                  mode=rp3_mode,
                                                  target_items=target_items)
     else:
         print('ERROR, similarity not implemented')
     self.s.data = np.power(self.s.data, power)
 def model(self,
           alpha=1,
           beta=0,
           k=200,
           shrink=0,
           threshold=0,
           rp3_mode=0,
           target_items=None):
     #if target_items is None it calculate the whole similarity
     self.alpha, self.beta = alpha, beta
     self.k = k
     self.shrink, self.threshold = shrink, threshold
     self.rp3_mode = rp3_mode
     if self.mode_t:
         self.s = ss.tversky_similarity(self.m_iu,
                                        self.m_ui,
                                        k=k,
                                        shrink=shrink,
                                        alpha=alpha,
                                        beta=beta,
                                        threshold=threshold,
                                        verbose=self.verbose,
                                        target_items=target_items)
     elif beta == 0:
         self.s = ss.p3alpha_similarity(self.m_iu,
                                        self.m_ui,
                                        k=k,
                                        shrink=shrink,
                                        alpha=alpha,
                                        threshold=threshold,
                                        verbose=self.verbose,
                                        target_items=target_items)
     else:
         self.s = p3r3.p3alpha_rp3beta_similarity(self.m_iu,
                                                  self.m_ui,
                                                  self.pop,
                                                  k=k,
                                                  shrink=shrink,
                                                  alpha=alpha,
                                                  beta=beta,
                                                  threshold=threshold,
                                                  verbose=self.verbose,
                                                  mode=rp3_mode,
                                                  target_items=target_items)