假设我有一个部分连通图,它代表许多不相关社区的成员。我想预测同一社区成员之间可能的友谊:在 0 到 10 之间的滑动范围内,他们彼此喜欢的程度如何?我有他们的一些特点,不管他们是基督徒,还是喜欢运动,还有一些地理特征,他们之间的距离。
联系可能是他们是否是社交媒体平台上的朋友。在网络中,它们不一定与边相连。
我正在pytorch_geometric
为每个社区构建一个图表,并在社交媒体平台上为连接添加边。每个方向都有一条边,因此该图是双向的。然后我创建Data()
实例。
Data(x=x, edge_index=edge_index)
x
具有节点特征的数组在哪里?edge_index
x = array([[ 0, 4, 6, 0, 0, 1],
[ 1, 4, 6, 0, 0, 1],
[ 2, 4, 6, 0, 0, 1],
[ 3, 4, 6, 0, 1, 0],
[ 4, 4, 6, 0, 1, 0],
...])
edge_index = [[0, 1],
[0, 9],
[0, 10],
[0, 11],
[1, 2],
[1, 7],
[1, 12],
[2, 3],
[2, 6],
[2, 13],
[3, 4],
...]
不确定从这里开始训练和预测关系的最佳途径是什么。这种情况下一般用什么?文档中提到了几个选项:EdgeConv、DynamicEdgeConv、GCNCon。我不确定首先要尝试什么。有什么可以解决这类问题的吗,还是我必须设置自己的MessagePassing
课程?
Data()
接受y
在节点上训练的参数。我可以实际使用pytorch_geometric
这种问题还是我必须回去pytorch
?