Esempio n. 1
0
 def test_densify_keep_dense_matrix(self):
     a_from_raw = EntityNet.from_raw_matrix(self.net_a, self.name,
                                            self.node_names)
     type_before = type(a_from_raw.matrix)
     a_from_raw.densify()
     type_after = type(a_from_raw.matrix)
     self.assertEqual(type_before, type_after)
Esempio n. 2
0
def build_within_group_matrix(graph,
                              group_node_list,
                              group_tag,
                              precompute=False,
                              labels_as_ids=False):
    result_mat = []
    adj_mat = nx.adjacency_matrix(graph).todense()

    global_node_list = list(graph.nodes())
    if labels_as_ids:
        global_node_list = [graph.node[n]['label'] for n in global_node_list]

    indices = [global_node_list.index(n) for n in group_node_list]

    result_mat = adj_mat[indices, :]
    result_mat = result_mat[:, indices]

    if precompute:
        entity = EntityNet.from_raw_matrix(scipy.sparse.csr_matrix(result_mat),
                                           group_tag, group_node_list)
    else:
        entity = EntityNet(scipy.sparse.csr_matrix(result_mat), group_tag,
                           group_node_list)

    return entity
Esempio n. 3
0
    def test_densify_changes_sparse_matrix_to_dense(self):
        a_from_raw = EntityNet.from_raw_matrix(sparse.csr_matrix(self.net_a),
                                               self.name, self.node_names)

        type_before = type(a_from_raw.matrix)
        a_from_raw.densify()
        type_after = type(a_from_raw.matrix)
        self.assertNotEqual(type_before, type_after)
Esempio n. 4
0
 def test_entity_net_from_raw_non_squared_raises_exception(self):
     with self.assertRaises(ValueError):
         e = EntityNet.from_raw_matrix(self.rel_ab, 'Net', self.node_names)
Esempio n. 5
0
 def test_entity_net_from_raw_no_errors(self):
     e = EntityNet.from_raw_matrix(self.net_a, 'Net', self.node_names)