Ejemplo n.º 1
0
 def test_error_ratio(self):
   adj = np.diag(np.ones(3), k=1)
   G = Graph.from_adj_matrix(adj + adj.T)
   GT = np.tile(np.linspace(0, 1, adj.shape[0])**2, (2,1)).T
   err_edges, tot_edges = sr.error_ratio(G, GT, return_tuple=True)
   self.assertEqual(err_edges, 6)
   self.assertEqual(tot_edges, 6)
   self.assertEqual(sr.error_ratio(G, GT, max_delta_theta=0.2), 4/6.)
   self.assertEqual(sr.error_ratio(G, GT, max_delta_theta=0.5), 2/6.)
   self.assertEqual(sr.error_ratio(G, GT, max_delta_theta=1), 0.0)
Ejemplo n.º 2
0
    def test_swiss_roll(self):
        np.random.seed(1234)
        X, theta = swiss_roll(6, 120, radius=4.8, return_theta=True)
        GT = np.hstack((theta[:, None], X[:, 1:2]))
        GT -= GT.min(axis=0)
        GT /= GT.max(axis=0)

        G = manifold_spanning_graph(X, 2)
        self.assertEqual(error_ratio(G, GT), 0.0)