欺诈亚马逊数据集

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

基础类: FraudDataset

欺诈亚马逊数据集

亚马逊数据集包括音乐器材类别下的产品评论。 获得超过80%有用票的用户被标记为良性实体,而获得少于20%有用票的用户被标记为欺诈实体。 可以在亚马逊数据集上进行欺诈用户检测任务,这是一个二元分类任务。 从<https://arxiv.org/pdf/2005.10150.pdf>中提取的25个手工特征被用作原始节点特征。

用户是图中的节点,三种关系是: 1. U-P-U:连接至少评论过同一产品的用户 2. U-S-U:连接在一周内至少有一次相同星级评分的用户 3. U-V-U:连接在所有用户中互评文本相似度(通过TF-IDF测量)前5%的用户。

统计:

  • 节点数:11,944

  • 边:

    • U-P-U: 351,216

    • U-S-U: 7,132,958

    • U-V-U: 2,073,474

  • 类:

    • 正例(欺诈):821

    • 阴性(良性):7,818

    • 未标记: 3,305

  • 正负比例: 1 : 10.5

  • 节点特征大小:25

Parameters:
  • raw_dir (str) – Specifying the directory that will store the downloaded data or the directory that already stores the input data. Default: ~/.dgl/

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

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

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

  • force_reload (bool) – Whether to reload the dataset. Default: False

  • verbose (bool) – 是否打印进度信息。默认值: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.

示例

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

获取图形对象

Parameters:

idx (int) – 项目索引

Returns:

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

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

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

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

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

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

Return type:

dgl.DGLGraph

__len__()

数据示例的数量