发布于: Oct 30, 2022

在本节中,我们将介绍如何对示例数据集预处理,借此确定异构图中各节点间的关系。

在本用例中,我们使用 IEEE-CIS 欺诈数据集对建模方法进行基准测试。这是一套匿名数据集,其中包含用户间多达 50 万笔交易。该数据集中包含两个主表:

  • Transactions table – 交易表,包含关于交易或用户间交互的信息。
  • Identity table – 身份表,包含执行交易的具体用户的相关日志访问、设备及网络信息。

您可以将这些交易中的子集及其标签作为模型训练中的监督信号。对于测试数据集中的交易,其标签在训练期间将被屏蔽。模型的任务非常明确——预测哪些被屏蔽的交易属于欺诈行为,哪些属于合法行为。

以下示例代码将获取数据并将其上传至 Amazon SageMaker 在预处理与训练(在 Jupyter notebook 单元中运行)期间访问数据集使用的 Amazon S3 存储桶:

尽管欺诈者会努力掩饰自己的恶意活动,但这类行为在图结构中仍然具有非常明显的特征,例如高出度或者活动聚合倾向。以下各节,将说明如何执行特征提取与图构建,进而由 GNN 模型利用这些模式实现欺诈预测。

特征提取包括对分类特征执行数字编码,再对数字列进行一系列转换。例如,我们需要对交易金额进行对数转换以指示金额的相对大小,并可以通过独热编码方法将其类别属性转换为数字形式。对于每一项交易,特征向量都将包含交易表中的固有属性,这些属性中包含有与先前交易相比较的时间增量、名称与地址匹配以及匹配计数等信息。

要构建完整的交互图,我们需要将数据中的各关系信息划分为与各种关系类型相对应的 edge list。每个 edge list 都属于事务节点与其他实体类型之间的二部图。这些实体类型分别构成与事务相关的标识属性。例如,对于交易中使用的卡片类型(借记卡或信用卡),我们可以将其创建为实体类型、完成交易所用设备的 IP 地址,以及所使用设备的设备 ID 或操作系统。图构建中使用的实体类型,则包括身份表中所有属性及交易表中属性的子集,例如信用卡信息或者电子邮件域。异构图正是由表示各关系类别的 edge list 与节点的特征矩阵所共同构成。

相关文章