FraudDataset

class dgl.data.FraudDataset(name, raw_dir=None, random_seed=717, train_size=0.7, val_size=0.1, force_reload=False, verbose=True, transform=None)[source]

基类: DGLBuiltinDataset

欺诈节点预测数据集。

该数据集包含从 Yelp 和 Amazon 中提取的两个多关系图,其中节点代表欺诈性评论或欺诈性评论者。

它首次在 CIKM’20 的一篇论文 https://arxiv.org/pdf/2008.08692.pdf 中提出,并被最近的 WWW’21 论文 https://ponderly.github.io/pub/PCGNN_WWW2021.pdf 用作基准。另一篇论文 https://arxiv.org/pdf/2104.01404.pdf 也将该数据集作为研究非同质图的例子。该数据集基于工业数据构建,具有丰富的关系信息和独特的属性,如类别不平衡和特征不一致,这使得该数据集成为研究 GNN 在真实世界噪声图上表现的良好实例。这些图是双向的且不自连接。

参考:https://github.com/YingtongDou/CARE-GNN

参数:
  • name (str) – 数据集名称

  • raw_dir (str) – 指定将存储下载数据的目录或已经存储输入数据的目录。默认值:~/.dgl/

  • random_seed (int) – 指定划分数据集时使用的随机种子。默认值:717

  • train_size (float) – 数据集的训练集大小。默认值:0.7

  • val_size (float) – 数据集的验证集大小,测试集大小为 (1 - train_size - val_size)。默认值:0.1

  • force_reload (bool) – 是否重新加载数据集。默认值:False

  • verbose (bool) – 是否打印进度信息。默认值:True。

  • transform (callable, optional) – 一个转换函数,接受一个 DGLGraph 对象并返回一个转换后的版本。DGLGraph 对象在每次访问前都会被转换。

num_classes

标签类别数

类型:

int

graph

图结构等。

类型:

dgl.DGLGraph

seed

划分数据集时使用的随机种子。

类型:

int

train_size

数据集的训练集大小。

类型:

float

val_size

数据集的验证集大小

类型:

float

示例

>>> dataset = FraudDataset('yelp')
>>> graph = dataset[0]
>>> num_classes = dataset.num_classes
>>> feat = graph.ndata['feature']
>>> label = graph.ndata['label']
__getitem__(idx)[source]

获取图对象

参数:

idx (int) – 项目索引

返回:

图结构、节点特征、节点标签和掩码

  • ndata['feature']: 节点特征

  • ndata['label']: 节点标签

  • ndata['train_mask']: 训练集掩码

  • ndata['val_mask']: 验证集掩码

  • ndata['test_mask']: 测试集掩码

返回类型:

dgl.DGLGraph

__len__()[source]

数据样本数量