BACommunityDataset
- class dgl.data.BACommunityDataset(num_base_nodes=300, num_base_edges_per_node=4, num_motifs=80, perturb_ratio=0.01, num_inter_edges=350, seed=None, raw_dir=None, force_reload=False, verbose=True, transform=None)[source]
基类:
DGLBuiltinDataset
BA-COMMUNITY 数据集,来自 GNNExplainer: Generating Explanations for Graph Neural Networks
这是一个用于节点分类的合成数据集。它通过按以下步骤生成:
构造一个基础的 Barabási–Albert (BA) 图。
构造一组五节点房屋结构的子图(motif)。
将这些子图连接到基础图的随机选定节点上。
通过添加随机边来扰动图。
节点被分配到 4 个类别。标签为 0 的节点属于基础 BA 图。标签为 1、2、3 的节点分别位于房屋结构的中间、底部或顶部。
生成长度为 10 的服从正态分布的特征
重复上述步骤生成另一个图。其节点被分配到类别 4、5、6、7。其节点特征通过不同的正态分布生成。
通过在两个图之间随机添加边来连接它们。
- 参数:
num_base_nodes (int, 可选) – 每个基础 BA 图中的节点数。默认值:300
num_base_edges_per_node (int, 可选) – 在构造基础 BA 图时,从新节点连接到现有节点的边数。默认值:4
num_motifs (int, 可选) – 在构造每个图时使用的房屋结构子图的数量。默认值:80
perturb_ratio (float, 可选) – 扰动时添加到图中的随机边数除以其原始边数的比例。默认值:0.01
num_inter_edges (int, 可选) – 在两个图之间添加的随机边数。默认值:350
seed (整数, 随机状态, 或 None, 可选) – 随机数生成状态的指示器。默认值:None
raw_dir (str, 可选) – 存储处理后数据的原始文件目录。默认值:~/.dgl/
force_reload (bool, 可选) – 是否始终从头开始生成数据,而不是加载缓存版本。默认值:False
verbose (bool, 可选) – 是否打印进度信息。默认值:True
transform (可调用对象, 可选) – 一个转换函数,接受
DGLGraph
对象并返回一个转换后的版本。DGLGraph
对象在每次访问前都将被转换。默认值:None
示例
>>> from dgl.data import BACommunityDataset >>> dataset = BACommunityDataset() >>> dataset.num_classes 8 >>> g = dataset[0] >>> label = g.ndata['label'] >>> feat = g.ndata['feat']