Exemplo n.º 1
0
 def test_scaling(self):
     adjacency = cyclic_digraph(3)
     with self.assertRaises(ValueError):
         check_scaling(-1, adjacency, regularize=True)
     adjacency = test_graph_disconnect()
     with self.assertRaises(ValueError):
         check_scaling(-1, adjacency, regularize=False)
Exemplo n.º 2
0
 def test_disconnect(self):
     adjacency = test_graph_disconnect()
     position = np.random.random((adjacency.shape[0], 2))
     image = svg_graph(adjacency, position)
     self.assertEqual(image[1:4], 'svg')
     biadjacency = test_bigraph_disconnect()
     image = svg_bigraph(biadjacency)
     self.assertEqual(image[1:4], 'svg')
Exemplo n.º 3
0
 def test_noreg(self):
     adjacency = test_graph_disconnect()
     n = adjacency.shape[0]
     spectral = Spectral(regularization=None, equalize=True)
     with self.assertRaises(ValueError):
         spectral.fit(adjacency)
     spectral = Spectral(regularization=0.)
     spectral.fit(adjacency)
     spectral.predict(np.random.rand(n))
Exemplo n.º 4
0
 def test_random_projection(self):
     for algo in [RandomProjection(), RandomProjection(random_walk=True)]:
         adjacency = test_graph()
         embedding = algo.fit_transform(adjacency)
         self.assertEqual(embedding.shape[1], 2)
         adjacency = test_digraph()
         embedding = algo.fit_transform(adjacency)
         self.assertEqual(embedding.shape[1], 2)
         adjacency = test_graph_disconnect()
         embedding = algo.fit_transform(adjacency)
         self.assertEqual(embedding.shape[1], 2)
 def test_louvain_hierarchy(self):
     louvain = LouvainNE()
     for adjacency in [
             test_graph(),
             test_graph_disconnect(),
             test_digraph()
     ]:
         self.assertTupleEqual(
             louvain.fit_transform(adjacency).shape, (10, 2))
     louvain.fit(test_bigraph())
     self.assertTupleEqual(louvain.embedding_.shape, (6, 2))
Exemplo n.º 6
0
    def test_laplacian(self):
        # regular Laplacian
        spectral = LaplacianEmbedding(self.k, normalized=False)
        embedding = spectral.fit_transform(self.adjacency)
        self.assertAlmostEqual(np.linalg.norm(embedding.mean(axis=0)), 0)

        spectral = LaplacianEmbedding(self.k, regularization=0)
        with self.assertRaises(ValueError):
            spectral.fit(test_bigraph())
        with self.assertRaises(ValueError):
            spectral.fit(test_digraph())
        with self.assertRaises(ValueError):
            spectral.fit(test_graph_disconnect())

        with self.assertWarns(Warning):
            n = self.k - 1
            spectral.fit_transform(np.ones((n, n)))
Exemplo n.º 7
0
    def test_regular(self):
        # regular Laplacian
        spectral = Spectral(self.k, normalized_laplacian=False, barycenter=False, normalized=False)
        embedding = spectral.fit_transform(self.adjacency)
        self.assertAlmostEqual(np.linalg.norm(embedding.mean(axis=0)), 0)
        error = np.abs(spectral.predict(self.adjacency[1]) - embedding[1]).sum()
        self.assertAlmostEqual(error, 0)

        spectral = Spectral(self.k, normalized_laplacian=False, regularization=0, equalize=True)
        with self.assertRaises(ValueError):
            spectral.fit(test_bigraph())
        with self.assertRaises(ValueError):
            spectral.fit(test_digraph())
        with self.assertRaises(ValueError):
            spectral.fit(test_graph_disconnect())

        with self.assertWarns(Warning):
            n = self.k - 1
            spectral.fit_transform(np.ones((n, n)))
Exemplo n.º 8
0
 def test_disconnected(self):
     adjacency = test_graph_disconnect()
     betweenness = Betweenness()
     with self.assertRaises(ValueError):
         betweenness.fit(adjacency)
Exemplo n.º 9
0
 def test_check_connected(self):
     with self.assertRaises(ValueError):
         check_connected(test_graph_disconnect())