我正在尝试以json格式创建多个networkx图形的数据集。我的目标是使用这个带有标签的数据集对我的网络进行监督培训。Networkx可以转储单个图形的json格式。但是,我不知道如何处理同一个json文件中的多个图形。
GraphSage文档声称数据上的示例有多个图。
example_data子目录包含一个蛋白质-蛋白质相互作用数据的小例子,其中包括3个训练图+一个验证图和一个测试图。
但是,当我将示例-数据玩具-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格式,这样我就可以创建自己的数据集并将其用于培训目的。
发布于 2021-02-18 09:10:01
总体思路是,您可以将多个图表示为一个大图的不相交组件。这就是他们在GraphSAGE存储库中所做的,您也可以这样做。
您可以将多个图存储在同一个json文件中:只要两个不同的图之间没有边,GNN也会“看到”它们是分开的。
我在我的GNN库文档中解释了这一点,这里是邻接和节点特征矩阵的表示,其中颜色表示不同的图形:

因此,要回答您的问题,只需在图中顺序地枚举节点并将它们添加到json文件中。保持相同的索引以添加边缘。
https://stackoverflow.com/questions/66256019
复制相似问题