Пример #1
0
 def test_snn_dist_equals_sim(self):
     """Test that SNN results are equivalent using distances or simil."""
     self.setUpMod('rnd')
     snn_dist = shared_nearest_neighbors(self.dist, metric='distance')
     snn_sim = shared_nearest_neighbors(1. - self.dist, metric='similarity')
     dist_equals_sim = np.allclose(snn_sim, 1.-snn_dist)
     return self.assertTrue(dist_equals_sim)
Пример #2
0
 def test_snn_matrix_basic_requirements(self):
     """Test that matrix is symmetric, diag==0, and in range [0, 1]"""
     self.setUpMod('rnd')
     snn_dist = shared_nearest_neighbors(self.dist)
     symmetric = np.all(snn_dist == snn_dist.T)
     diag_zero = np.all(snn_dist.diagonal() == 0.)
     correct_range = snn_dist.min() >= 0. and snn_dist.max() <= 1.
     return self.assertTrue(symmetric and diag_zero and correct_range)
Пример #3
0
 def test_snn(self):
     """Test correctness of SNN in toy example (hand-calculated)"""
     self.setUpMod('toy')
     snn_dist = shared_nearest_neighbors(self.dist, k=2)
     snn_calc_equal_truth = np.all(snn_dist == self.snn_dist_truth)
     return self.assertTrue(snn_calc_equal_truth)