AsLinkPredDataset

class dgl.data.AsLinkPredDataset(dataset, split_ratio=None, neg_ratio=3, **kwargs)[source]

基类: DGLDataset

将数据集重新用于链接预测任务。

创建的数据集将包含链接预测所需的数据。目前,它只支持同构图。它将只保留提供的数据集中的第一个图,并根据给定的分割比例生成训练/验证/测试边,并根据 neg_ratio 生成相应的负样本边。生成的边将缓存到磁盘以加快重新加载速度。如果提供的分割比例与缓存的不同,它将重新正确处理数据集。

参数:
  • dataset (DGLDataset) – 要转换的数据集。

  • split_ratio ((float, float, float), 可选) – 训练集、验证集和测试集的分割比例。总和必须为一。

  • neg_ratio (int, 可选) – 指示要采样的负样本数量。负样本的数量将等于或小于 neg_ratio * 正样本边数。

feat_size

图中特征的维度大小

类型:

int

train_graph

用于训练的 DGLGraph

类型:

DGLGraph

val_edges

验证集边,编码格式为 ((positive_edge_src, positive_edge_dst), (negative_edge_src, negative_edge_dst))

类型:

Tuple[Tuple[Tensor, Tensor], Tuple[Tensor, Tensor]]

test_edges

测试集边,编码格式为 ((positive_edge_src, positive_edge_dst), (negative_edge_src, negative_edge_dst))

类型:

Tuple[Tuple[Tensor, Tensor], Tuple[Tensor, Tensor]]

示例

>>> ds = dgl.data.CoraGraphDataset()
>>> print(ds)
Dataset("cora_v2", num_graphs=1, save_path=...)
>>> new_ds = dgl.data.AsLinkPredDataset(ds, [0.8, 0.1, 0.1])
>>> print(new_ds)
Dataset("cora_v2-as-linkpred", num_graphs=1, save_path=/home/ubuntu/.dgl/cora_v2-as-linkpred)
>>> print(hasattr(new_ds, "test_edges"))
True
__getitem__(idx)[source]

获取指定索引的数据对象。

__len__()[source]

数据集中的样本数量。