开源图数据集

目前在多个库中可以直接下载处理好的图数据集:

其它数据源推荐:

经典数据集

目前图神经网络应用较广的数据集主要有以下几大类:

  • 引文网络:Cora、PubMed、Citeseer
  • 社交网络:BlogCatalog、Reddit、Epinions
  • 蛋白质交互网络:PPI、PROTEINS
  • 化学分子结构:MUTAG、NCI-1、NCI-109

引文网络

由论文间的关系构成的网络,关系包括例如引用关系、共同的作者等,具有天然的图结构,数据集的任务一般是论文的分类和连接的预测,比较流行的数据集有三个,分别是 Cora、PubMed、Citeseer。

引文网络数据集统计

数据格式

以 cora 数据集为例,数据集包含两个文件:

  • cora.cites 文件中的数据如下:

    <ID of cited paper> <ID of citing paper>

  • cora.content 文件的数据如下:

    <paper id> <word attributes> + <class label>

社交网络

BlogCatalog 数据集是一个社会关系网络,图是由博主和他(她)的社会关系(比如好友)组成,labels 是博主的兴趣爱好。

Reddit 数据集是由来自 Reddit 论坛的帖子组成,如果两个帖子被同一人评论,那么在构图的时候,就认为这两个帖子是相关联的,labels 就是每个帖子对应的社区分类。

Epinions 是一个从一个在线商品评论网站收集的多图数据集,里面包含了多种关系,比如评论者对于另一个评论者的态度(信任/不信任),以及评论者对商品的评级。

数据格式

  • BlogCatalog 数据集的结点数为 10312,边条数为 333983,label 维度为 39,数据集包含两个文件:

    • Nodes.csv:以字典的形式存储用户的信息,但是只包含节点 id。
    • Edges.csv:存储博主的社交网络(好友等),以此来构图。
  • Epinions 数据集包含文件如下:

    • Ratings_data.txt:包含用户对于一件物品的评级,文件中每一行的结构为 user_id item_id rating_value。
    • Trust_data.txt:存储了用户对其他用户的信任状态,存储方式为 source_user_id target_user_id trust_statement_value,其中信任状态只有信任和不信任(1、0)。

由于 Reddit comments 数据集的文件太多,此处略过。

蛋白质交互网络

PPI 是蛋白质交互网络,数据集中共有 24 张图,其中 20 张作为训练,2 张作为验证,2 张作为测试,每张图对应不同的人体组织,实例如图 3,该数据是为了从系统的角度研究疾病分子机制、发现新药靶点等等。平均每张图有 2372 个结点,每个结点特征长度为 50,其中包含位置基因集,基序集和免疫学特征。基因本体集作为 labels(总共 121 个)。

数据格式

PPI 数据集格式如下:

  • ppi-G.json – 输入图 Json 格式的 networkx 文件,节点包含 test val 属性表示测试和验证集。
  • ppi-id_map.json – 将节点 id 映射到连续整数。
  • ppi-class_map.json – 节点 id 对应的类别。
  • ppi-feats.npy [optional] – 节点对应的特征, numpy 存储格式,和 id-map 中顺序相同。
  • ppi-walks.txt [optional] – 随机游走节点对应的节点,对于 graphsage 而言无监督时使用。

化学分子结构

NCI-1、NCI-109 和 MUTAG 是关于化学分子和化合物的数据集,原子代表结点,化学键代表边。NCI-1 和 NCI-109 数据集分别包含 4100 和 4127 个化合物,labels 是判断化合物是否有阻碍癌细胞增长得性质。MUTAG 数据集包含 188 个硝基化合物,labels 是判断化合物是芳香族还是杂芳族。

数据格式

NCI-1、NCI-109 和 MUTAG 数据集的文件构成如下:(DS 表示数据集名称)

n 表示结点数,m 表示边的个数,N 表示图的个数

  • DS_A.txt (m lines):图的邻接矩阵,每一行的结构为 (row, col),即一条边。

  • DS_graph_indicator.txt (n lines):表明结点属于哪一个图的文件。

  • DS_graph_labels.txt (N lines):图的 labels。

  • DS_node_labels.txt (n lines):结点的 labels。

  • DS_edge_labels.txt (m lines):边 labels。

  • DS_edge_attributes.txt (m lines):边特征。

  • DS_node_attributes.txt (n lines):结点的特征。

  • DS_graph_attributes.txt (N lines):图的特征,可以理解为全局变量。