4

我自己有一个数据集,数据集包含两个类,比如说 0 和 1。此外,还有很大一部分节点没有标记类。我的目标是使用 GCN 预测这些未标记的节点。但是我对如何在 Pytorch Geometric 中处理这些未标记的节点感到困惑。

据我所知,我可以将节点标记为 3 类,0、1 和未知。但是,如果我这样做,是否意味着我正在尝试将数据集分为三类?(但这不是我想要的,因为 unknown 不是一个类)。

处理这些节点的另一种方法是忽略它们,只需在标记节点上运行 PyG。但是这样一来,这些未标记的节点(带有特征)似乎在数据集中没有用?

4

1 回答 1

0

这在很大程度上取决于您的用例和数据!

案例 1 - 图形自动编码器

对于这种情况,我们假设任务是找到类似的推文。一种方法是训练图形自动编码器(参见示例)。这种方法是完全无监督的,因此不需要标记任何数据。

生成的模型应该能够为每个节点(在这种情况下为每条推文)生成嵌入,以便相似推文之间的距离低于非相似推文之间的距离(例如通过余弦距离测量)。

案例 2 - 半监督 GCN

另一种情况是将推文分类为advertisementvs. non-advertisement。由于 GCN 背后的想法是以半监督方式进行训练,因此只为一些推文添加标签是没有问题的。

为了告诉 PYG 哪些有标签并且应该用于训练,您可以定义一个train_mask. 所有缺少标签的节点在技术上仍然需要一个可以设置为 -1 的 y 值。

来源和学分

于 2021-11-12T19:06:06.783 回答