**已关闭。**此问题为not about programming or software development。目前不接受答复。
这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
5天前关闭。
Improve this question
我正在为基于图的数据实现一种欺诈检测方法,来自这篇文章:https://developer.nvidia.com/blog/optimizing-fraud-detection-in-financial-services-with-graph-neural-networks-and-nvidia-gpus/。在“训练GNN模型”和“使用GNN嵌入进行下游任务”部分,本文建议将表格数据集转换为图,然后为每个节点生成64宽度的嵌入,然后将它们连接到相应节点ID上的原始表格数据集。我已经生成了一个64宽度的节点嵌入Tensor,但是,我不确定下一步该怎么做。我曾想过将Tensor压缩到一维中,并根据节点ID追加它们,但我觉得这不是文章的建议。我也想过将整个Tensor添加到细胞中,但我觉得它不适合大多数机器学习模型。在这种情况下我该怎么办?我很抱歉,如果这似乎不像是正确的地方问这个问题,并将删除它,如果是这样的话。
1条答案
按热度按时间js4nwp541#
为了理解这个NVIDIA blog的作者使用什么样的嵌入来丰富数据集,让我们重新表述他们的方法:
nodes
,交易表示edges
。我在下面可视化了一个例子,以清楚地说明什么是nodes
和什么是edges
(这也证明了为什么我更喜欢硬科学而不是艺术学校)。link prediction
任务创建node embeddings
,也就是说,他们训练一个模型,预测card ID
和merchant
连接的概率。**注:**这是OP引用的64维嵌入。merchant
和给定card ID
连接的概率进行编码,因此每个交易只需要一次嵌入,因为每个交易只有一个商家和一张卡。64 features
连接回数据集- XGBoost无法处理包含64维向量的单个特征,这就是为什么包含单个数字的64个特征是唯一有效的选项。创建的图形类型的可视化。为了简单起见,可视化假设每个人只拥有一张卡。由于数据集不包含
transaction ID
,并且数据集中的每一行都包含一个事务,因此可以将row index
视为transaction ID
。