gpt4 book ai didi

python - 社区包中的错误?

转载 作者:太空宇宙 更新时间:2023-11-04 05:04:47 25 4
gpt4 key购买 nike

我高度怀疑 community 包中存在错误。它在模块分数的计算中。我查看了 Louvain 算法 paper并发现一些异常。这是问题-在 Q

的等式中

Equation for Q

k_ik_j/2m 并且在乘以外部 1/2m 之后它应该是 k_ik_j/4 sqr(m),但是如果你使用包的 modularity() 函数,代码就像这样 - sqr(k_ik_j/4m)。请参阅第 131 行,这是行 -

  res += (inc.get(com, 0.) / (2. * links)) -(deg.get(com, 0.) / (2. * links)) ** 2

但是,按照方程应该是这样的——

res += (inc.get(com, 0.) / (2. * links)) - deg.get(com, 0.) / (2. * links) ** 2

我在一些玩具图上进行了测试,以检查最佳集群的模块化分数和第二个更正代码,为最佳分区提供最高模块化。但是,第一个代码(错误的代码(可能))给出了最佳分区的低模块化分数。

以上是我阅读论文、使用一些图表进行测试以及理解和调试 modularity() 函数后得到的结果。

我的问题是,我的发现是否正确?有人可以检查吗?如果有人需要更多信息或说明,我可以提供。

我正在使用 python-louvine 的 0.8 版本包裹。

最佳答案

你是对的,第二部分是 k_i * k_j/(4 sqr(m)),其中 k_i 是社区 i 的度数。但是你只考虑 i==j 的情况,因此它变成:

k_i * k_i/4 sqr(m) == (k_i/(2 m)) ** 2

根据你的等式,我认为你只考虑了 k_i 而忘记了 k_j。

关于python - 社区包中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44789566/

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