我想创建一个networkx
图表,其中我有节点和边缘的属性。我知道,对于每个节点和边缘,可以创建属性的地图/字典。但是,我需要为每个节点和每个边创建一个特征向量,以便与scikit-learn
一起使用它们来训练分类器。我不想创建一个显式的特征矩阵,其中每一行代表一个节点的特征。相反,我想将特征向量合并到networkx
图本身中。所以我想要这样的东西:
node = Graph.get_node(i)
feature_vec = node.get_features_vector()
有没有快速/ pythonic的方式来做这个而不用写包装'?
答案 0 :(得分:0)
您可以添加numpy数组作为节点属性。像,
In [1]: import networkx as nx
In [2]: import numpy as np
In [3]: G = nx.Graph()
In [4]: feature_vector=np.array([1,7,22])
In [5]: G.add_node(1,v=feature_vector)
In [6]: G.node[1]['v']
Out[6]: array([ 1, 7, 22])