欺诈亚马逊数据集
- 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. TheDGLGraph
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:
- __len__()
数据示例的数量