如何解决恒星图从加权有向图生成节点的嵌入
我有一个熊猫数据框,如下所示:
source target weight src_attr_1 src_attr_2 target_attr_1 target_attr_2
ip_1 ip_2 7 value_1 value_2 value_3 value_4
.
.
.
我能够从上述数据框中创建有向图的网络图,并将节点属性设置如下:
source_node_attributes = ['src_attr_1','src_attr_2']
target_node_attributes = ['target_attr_1','target_attr_2']
g = nx.from_pandas_edgelist(df,'source','target',edge_attr=['weight'],create_using=nx.DiGraph())
for index,row in df.iterrows():
source_attr_dict = {k: row.to_dict()[k] for k in source_node_attributes}
g.nodes[row['source']].update(source_attr_dict)
target_attr_dict = {k: row.to_dict()[k] for k in target_node_attributes}
g.nodes[row['target']].update(target_attr_dict)
我要做的是生成这些节点的嵌入。最初,我尝试使用Node2Vec(https://github.com/eliorc/node2vec),但是在论文中,他们提到它没有考虑节点的属性。对于我的情况,这是有问题的,因为这些属性至关重要。所以现在,我发现Stellargraph API具有一些实现,使您可以使用考虑了不同节点属性的算法(例如Attri2Vec和GraphSage)来生成节点的嵌入。但是,我对如何实现此目标感到有些困惑,在代码示例中,他们加载了标有(node_subejcts)的Cora数据集,然后在两个示例(Attri2Vec和GraphSage)的嵌入生成过程中使用了这些节点主题。 >
所以我的问题是,当我没有文档示例中的标记图时,如何生成这些节点的嵌入。就我而言,我想要的就是获得这些嵌入。
非常感谢您为实现这一目标所提供的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。