用于GraphSage算法的json格式的多个图形的networkx数据集

2024-05-16 21:11:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试以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格式,以便创建自己的数据集并将其用于培训目的


Tags: 数据networkxjson图形示例目标dataexample
1条回答
网友
1楼 · 发布于 2024-05-16 21:11:22

总体思路是,可以将多个图形表示为一个大图的不相交组件。这就是他们在GraphSAGE存储库中所做的,您也可以这样做

您可以将多个图形存储在同一个json文件中:只要两个不同的图形之间没有边,GNN也会“看到”它们是分开的

我在my library for GNNs的文档中对此进行了解释,这里是邻接和节点特征矩阵的表示,其中颜色表示不同的图:

enter image description here

因此,要回答您的问题,只需在图中按顺序枚举节点,并将它们添加到json文件中。保持相同的索引以添加边

相关问题 更多 >