机器学习模型是否接受包含Tensor或数组的pandas Dataframe单元格?[关闭]

m1m5dgzv  于 2023-05-27  发布在  其他
关注(0)|答案(1)|浏览(133)

**已关闭。**此问题为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添加到细胞中,但我觉得它不适合大多数机器学习模型。在这种情况下我该怎么办?我很抱歉,如果这似乎不像是正确的地方问这个问题,并将删除它,如果是这样的话。

js4nwp54

js4nwp541#

为了理解这个NVIDIA blog的作者使用什么样的嵌入来丰富数据集,让我们重新表述他们的方法:

  • 他们构建了一个图,其中卡ID商户表示nodes交易表示edges。我在下面可视化了一个例子,以清楚地说明什么是nodes和什么是edges(这也证明了为什么我更喜欢硬科学而不是艺术学校)。
  • 随后,他们使用link prediction任务创建node embeddings,也就是说,他们训练一个模型,预测card IDmerchant连接的概率。**注:**这是OP引用的64维嵌入。
  • 现在,它们将这些生成的嵌入连接回数据集。**注意:**由于嵌入的目的是对给定merchant和给定card ID连接的概率进行编码,因此每个交易只需要一次嵌入,因为每个交易只有一个商家和一张卡。
  • 最后,他们在丰富的数据集上拟合XGBoost算法来预测交易是否是欺诈性的。虽然他们没有明确提到,但64维嵌入作为64 features连接回数据集- XGBoost无法处理包含64维向量的单个特征,这就是为什么包含单个数字的64个特征是唯一有效的选项。

创建的图形类型的可视化。为了简单起见,可视化假设每个人只拥有一张卡。由于数据集不包含transaction ID,并且数据集中的每一行都包含一个事务,因此可以将row index视为transaction ID

相关问题