罗马帝国数据集

class dgl.data.RomanEmpireDataset(raw_dir=None, force_reload=False, verbose=True, transform=None)[source]

Bases: HeterophilousGraphDataset

来自‘A Critical Look at the Evaluation of GNNs under Heterophily: Are We Really Making Progress? <https://arxiv.org/abs/2302.11640>’__ 论文的罗马帝国数据集。

该数据集基于英文维基百科上的罗马帝国文章,之所以选择这篇文章是因为它是维基百科上最长的文章之一。图中的每个节点对应于文本中的一个(非唯一)单词。因此,图中的节点数量等于文章的长度。如果满足以下两个条件中的至少一个,则两个单词之间会有一条边连接:要么这些单词在文本中彼此跟随,要么这些单词在句子的依存树中连接(一个单词依赖于另一个单词)。因此,该图是一个链图,带有额外的快捷边,对应于单词之间的句法依赖关系。节点的类别是其句法角色(选择了17个最常见的角色作为唯一类别,所有其他角色被归入第18类)。节点特征是词嵌入。

统计:

  • 节点数:22662

  • 边数: 65854

  • 类别:18

  • 节点特征:300

  • 10 个训练/验证/测试分割

Parameters:
  • raw_dir (str, optional) – Raw file directory to store the processed data. Default: ~/.dgl/

  • force_reload (bool, optional) – Whether to re-download the data source. Default: False

  • verbose (bool, optional) – Whether to print progress information. Default: True

  • transform (callable, optional) – A transform that takes in a DGLGraph object and returns a transformed version. The DGLGraph object will be transformed before every access. Default: None

num_classes

节点类的数量

Type:

int

示例

>>> from dgl.data import RomanEmpireDataset
>>> dataset = RomanEmpireDataset()
>>> g = dataset[0]
>>> num_classes = dataset.num_classes
>>> # get node features
>>> feat = g.ndata["feat"]
>>> # get the first data split
>>> train_mask = g.ndata["train_mask"][:, 0]
>>> val_mask = g.ndata["val_mask"][:, 0]
>>> test_mask = g.ndata["test_mask"][:, 0]
>>> # get labels
>>> label = g.ndata['label']
__getitem__(idx)

获取索引处的数据对象。

__len__()

数据集中的示例数量。