Exemplo n.º 1
0
 def test_ls_dist_equals_sim(self):
     """Test for equal RANKS using dist. vs. sim. (LS_dist != 1-LS_sim).
        Using hubness and k-NN accuracy as proxy."""
     self.setUpMod('rnd')
     ls_dist = local_scaling(self.dist, metric='distance')
     ls_sim = local_scaling(1 - self.dist, metric='similarity')
     h_dist, _, _ = hubness(ls_dist, metric='distance')
     h_sim, _, _ = hubness(ls_sim, metric='similarity')
     acc_dist, _, _ = score(ls_dist, self.label, metric='distance')
     acc_sim, _, _ = score(ls_sim, self.label, metric='similarity')
     dist_sim_equal_in_hubness_knn = np.allclose(h_dist, h_sim) and \
                                     np.allclose(acc_dist, acc_sim)
     return self.assertTrue(dist_sim_equal_in_hubness_knn)
Exemplo n.º 2
0
 def test_ls_basic_requirements(self):
     """Test that matrix is symmetric, diag==0, and in range [0, 1]"""
     self.setUpMod('rnd')
     ls_dist = local_scaling(self.dist)
     symmetric = np.all(ls_dist == ls_dist.T)
     diag_zero = np.all(ls_dist.diagonal() == 0.)
     correct_range = ls_dist.min() >= 0. and ls_dist.max() <= 1.
     return self.assertTrue(symmetric and diag_zero and correct_range)
Exemplo n.º 3
0
 def test_local_scaling(self):
     self.setUpMod('toy')
     dist_calc = local_scaling(self.dist, k=2)
     calc_equals_truth = np.allclose(dist_calc, self.ls_dist_truth)
     return self.assertTrue(calc_equals_truth)