我正在尝试以json格式创建多个networkx图形的数据集。我的目标是使用这个带有标签的数据集对我的网络进行监督培训。Networkx可以为单个图形转储json格式。但是,我不知道如何在同一个json文件中处理多个图形
GraphSage文档声称https://github.com/williamleif/GraphSAGE/tree/master/example_data处的示例有多个图
The example_data subdirectory contains a small example of the protein-protein interaction data, which includes 3 training graphs + one validation graph and one test graph.
然而,当我将示例数据toy-ppi-G.json导入python时,我无法区分不同的图,或者只有一个图。来自json的数据具有以下键:
import json
with open('toy-ppi-G.json') as f:
data = json.load(f)
data.keys()
# result:
dict_keys(['directed', 'graph', 'nodes', 'links', 'multigraph'])
我的目标是了解多个图形的json格式,以便创建自己的数据集并将其用于培训目的
总体思路是,可以将多个图形表示为一个大图的不相交组件。这就是他们在GraphSAGE存储库中所做的,您也可以这样做
您可以将多个图形存储在同一个json文件中:只要两个不同的图形之间没有边,GNN也会“看到”它们是分开的
我在my library for GNNs的文档中对此进行了解释,这里是邻接和节点特征矩阵的表示,其中颜色表示不同的图:
因此,要回答您的问题,只需在图中按顺序枚举节点,并将它们添加到json文件中。保持相同的索引以添加边
相关问题 更多 >
编程相关推荐