我有一个网络是一个图形网络,它是Email-Eu网络,在这里可用。
该数据集具有实际数据集,这是一个由大约1005个节点组成的图,其边缘形成了这个巨大的图。它还具有节点及其相应社区(部门)的地面真相标签。这些节点中的每一个都属于42个部门中的一个。
我想在图上运行一个社区检测算法,为每个节点找到相应的部门。我的主要目标是找到最大社区中的节点。
因此,首先我需要找到前42个部门(社区),然后在其中最大的一个中找到节点。
我从Girvan Newman算法开始寻找社区。Girvan Newman的美妙之处在于,它很容易实现,因为每次我都需要找到中间值最高的边缘,并将其移除,直到找到我想要的42个部门(社区)。
我正在努力寻找其他社区检测算法,这些算法让我可以选择指定我需要将我的图分解成多少个社区/分区。
是否有任何社区检测功能/技术可供我使用,让我可以选择指定需要从图表中发现多少社区?非常感谢您的任何想法。
我正在使用Python和NetworkX。
我不完全确定我的答案,但也许你可以试试这个。您知道标签传播吗?主要思想是您在图中有一些节点被标记,即它们属于一个社区,并且您想为图中的其他未标记节点提供标签。LPA将在整个图中传播这些标签,并为您提供节点列表和它们所属的社区。这些社区将与您标记的节点集所属的社区相同。
因此,我认为您可以通过控制在开始时初始化的社区数量来控制要从图中提取的社区数量。但我认为,在LPA收敛后,由于图的结构和算法的随机性,您初始化的一些社区也可能从图中消失。但是有许多LPA变体可以控制这种随机性。我相信sklearn的这一页谈到了这一点。
你可以在这里和这里读到LPA
您可能想试试pysbm。它基于networkx,实现了随机块模型和推理方法的不同变体。
如果您考虑从networkx
切换到不同的基于python的图形包,您可能需要考虑graph-tools,在那里您可以使用随机块模型来执行聚类任务。另一个值得注意的包是igraph,可能想看看如何使用python igraph对图形进行聚类。
networkx中直接可用的方法相当过时。如果您的目标是最先进的聚类方法,您可以考虑使用光谱聚类或Infomap。选择取决于所需的推断社区使用情况。从网络中推断地面真相的任务属于(近似)无免费午餐定理,即(大致)不存在任何算法,因此,如果我们对所有可能的结果进行平均,它会返回比任何其他算法都“更好”的社区。
对于您的问题,一个(非常)部分的答案(和解决方案)是使用Networkx作为asyn\u fluidc实现的Fluid Communities算法。
请注意,它适用于连接的、无向的、未加权的图,因此,如果您的图有n个连接的组件,则应该运行n次。事实上,这可能是一个重要的问题,因为您应该对每个组件有一些初步的了解,以选择相应的k。
无论如何,值得一试。
我正在研究网络中的检测社区。 我正在使用networkx和Python,我需要实现此算法:http://arxiv.org/pdf/0803.0476.pdf 这就是我试图解决它的方法:首先我制作列表列表,其中包含与图中节点一样多的列表(社区),以便我可以通过索引找到社区。然后对于每个节点,我找到它们的邻居并计算模块化增益,如下所示: 在哪里 然后我找到最大q并将节点I移动到新社区。但是这不起作用
以下是我的数据集演示: 由非常大的相关帐户的Twitter帐户追随者、该追随者的追随者以及这些追随者的追随者组成的大型社交网络,在每次迭代中清理机器人帐户、私人帐户等。 总节点:约500,000 总连接:95百万 4个节点有超过300万个连接 567个节点有超过100,000个连接 一半的数据集有3个或更少的连接 也就是说,我想清理这个网络,以便在进一步聚集子社区之前,从原始的初始图中获得“最佳”
我想评估和比较我的社区检测算法在R中的结果。我的算法不允许重叠,并且有一些节点没有被处理。例如,对于Zachary空手道俱乐部,我有1个节点未处理。我发现了很多指标(NMI、ARI、模块化(Q)、纯度、排名指数…),我不知道哪一个是最好的。目前,我正在使用模块化、纯度和排名指数。 这些选择的评估指标是否足够? 例如,对于秩指数是RI(P,R)=(a d)/(a b c d),其中a、b、c和d是根
我试图在Java中实现上述社区检测算法,虽然我可以访问C代码和原始论文——但我根本无法使其工作。我的主要问题是我不明白代码的目的——即算法是如何工作的。实际上,我的代码陷入了的无限循环中,列表似乎在每次迭代中都变得越来越大(正如我对代码的期望),但的值总是返回相同的值。 我测试这个的图相当大(300,000个节点,650,000条边)。我用于实现的原始代码来自SNAP库(https://githu
A society made up of individuals who were all capable of original thought would probably be unendurable. — H. L. Mencken “随大溜” 有时会是个好主意。如果其他人需要阅读或管理你的配置清单, 或者如果你想要分享代码到社区, 那么尽可能遵循现有的样式约定会是个好主意。 操作步骤 将
联系我们 Nacos Gitter-https://gitter.im/alibaba/nacos Nacos 微博-https://weibo.com/u/6574374908 Nacos segmentfault-https://segmentfault.com/t/nacos 邮件列表 邮件列表建议讨论任何与Nacos有关的事情。具体请看参考手册描述如何订阅我们的邮件列表。 dev-naco