恒星图从加权有向图生成节点的嵌入

问题描述

我有一个熊猫数据框,如下所示:

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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...