FraudAmazonDataset
- 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
- 参数:
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
对象进行转换。
示例
>>> dataset = FraudAmazonDataset() >>> graph = dataset[0] >>> num_classes = dataset.num_classes >>> feat = graph.ndata['feature'] >>> label = graph.ndata['label']
- __getitem__(idx)
获取图对象
- 参数:
idx (int) – 项索引
- 返回值:
图结构、节点特征、节点标签和掩码
ndata['feature']
:节点特征ndata['label']
:节点标签ndata['train_mask']
:训练集掩码ndata['val_mask']
:验证集掩码ndata['test_mask']
:测试集掩码
- 返回类型:
- __len__()
数据示例数量