示例#1
0
 def setUp(self):
     self.distance, self.label, self.vector = load_dexter()
     self.n = self.distance.shape[0]
 def setUp(self):
     self.distance, self.target, self.vectors = load_dexter()
            self.d_self = -np.inf
            self.sort_order = -1 # descending, interested in highest similarity
        else:
            self.d_self = np.inf
            self.sort_order = 1 # ascending, interested in smallest distance
        np.random.seed()
        
    def calculate_hubness(self, debug=False, n_jobs=-1):
        """Calculate hubness.

        .. note:: Deprecated in hub-toolbox 2.3
                  Class will be removed in hub-toolbox 3.0.
                  Please use static functions instead.
        """
        print("DEPRECATED: Please use Hubness_parallel.hubness().", 
              file=sys.stderr)
        if self.sort_order == 1:
            metric = 'distance'
        elif self.sort_order == -1:
            metric = 'similarity'
        else:
            raise ValueError("sort_order must be -1 or 1.")
        
        return hubness(self.D, self.k, metric, debug, n_jobs)   
        
if __name__ == '__main__':
    """Simple test case"""
    from hub_toolbox.HubnessAnalysis import load_dexter
    D, l, v = load_dexter()
    Sn, Dk, Nk = hubness(D)
    print("Hubness =", Sn)
  from scipy.sparse import rand, triu
  from hub_toolbox.Hubness import hubness
  from hub_toolbox.HubnessAnalysis import load_dexter
  from hub_toolbox.KnnClassification import score
  #do = 'random'
  do = 'dexter'
  if do == 'random':
      print("RANDOM DATA:")
      print("------------")
      S = triu(rand(1000, 1000, 0.05, 'csr', np.float32, 43), 1)
      S += S.T
      D = 1. - S.toarray()
  elif do == 'dexter':
      print("DEXTER:")
      print("-------")
      D, c, v = load_dexter()
      acc_d, _, _ = score(D, c, [5], 'distance')
      S = csr_matrix(1 - D)
      acc_s, _, _ = score(S, c, [5], 'similarity')
 
  Sn_d, _, _ = hubness(D, 5, 'distance')
  Sn_s, _, _ = hubness(S, 5, 'similarity')
  print("Orig. dist. hubness:", Sn_d)
  print("Orig. sim.  hubness:", Sn_s)
  if do == 'dexter':
      print("Orig. dist. k-NN accuracy:", acc_d)
      print('Orig. sim.  k-NN accuracy:', acc_s)
      
  D_mp_emp_d = mutual_proximity_empiric(D)
  D_mp_emp_s = mutual_proximity_empiric(S, 'similarity')
  Sn_mp_emp_d, _, _ = hubness(D_mp_emp_d, 5)
示例#5
0
        if isSimilarityMatrix:
            self.d_self = -np.inf
            self.sort_order = -1 # descending, interested in highest similarity
        else:
            self.d_self = np.inf
            self.sort_order = 1 # ascending, interested in smallest distance
        np.random.seed()
                
    def calculate_hubness(self, debug=False):
        """Calculate hubness.
        
        .. note:: Deprecated in hub-toolbox 2.3
                  Class will be removed in hub-toolbox 3.0.
                  Please use static functions instead.
        """
        print("DEPRECATED: Please use Hubness.hubness().", file=sys.stderr)
        if self.sort_order == 1:
            metric = 'distance'
        elif self.sort_order == -1:
            metric = 'similarity'
        else:
            raise ValueError("sort_order must be -1 or 1.")
        
        return hubness(self.D, self.k, metric, debug)
    
if __name__ == '__main__':
    # Simple test case
    from hub_toolbox.HubnessAnalysis import load_dexter
    dexter_distance, l, v = load_dexter()
    Sn, Dk, Nk = hubness(dexter_distance)
    print("Hubness =", Sn)
 def setUp(self):
     self.distance, self.label, self.vector = load_dexter()