gpt4 book ai didi

python - node2vec 支持负边权重吗?

转载 作者:行者123 更新时间:2023-12-02 07:18:36 25 4
gpt4 key购买 nike

node2vec 是否支持负权重边?我有一个边缘列表,其中有几个边缘的值为负值,但奇怪的是,我在运行代码时遇到 ZeroDivisionError 。然而,我检查过,没有零边缘。

编辑:被要求共享代码。我没有对原始存储库进行任何更改,因此我在此处粘贴了引发错误的确切行。

unnormalized_probs = []
for dst_nbr in sorted(G.neighbors(dst)):
if dst_nbr == src:
unnormalized_probs.append(G[dst][dst_nbr]['weight']/p)
elif G.has_edge(dst_nbr, src):
unnormalized_probs.append(G[dst][dst_nbr]['weight'])
else:
unnormalized_probs.append(G[dst][dst_nbr]['weight']/q)
norm_const = sum(unnormalized_probs)
normalized_probs = [float(u_prob)/norm_const for u_prob in unnormalized_probs]

最后一行出现 ZeroDivisionError 错误。我的边缘列表作为输入,编写如下:

0 0 1
234 11 -2
12 0 -1

零值节点不是问题,以前当我在正节点值上运行代码时它们不是问题。

最佳答案

我明白了这一点。将权重值(存储在非标准化概率中)相加以获得一个名为“norm_const”的值,然后将其除以非标准化概率。因此,由于它们被添加,出现零发生的可能性,因此零除法误差。

关于python - node2vec 支持负边权重吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55566027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com