Leiden 算法(neo4j)

介绍

Leiden 算法是一种用于检测大型网络中社区的算法。该算法将节点分成不相交的社区,以便最大化每个社区的模块度得分。模块度量化了将节点分配给社区的质量,即与随机网络中的节点连接程度相比,社区中节点的连接密度如何。

Leiden 算法是一种分层聚类算法,通过贪婪地优化模块性,将社区递归合并为单个节点,并在压缩图中重复该过程。它修改了Louvain算法以解决其一些缺点,即 Louvain 发现的一些社区连接不紧密的情况。这是通过定期随机将社区分解为较小的连接良好的社区来实现的。

运行此算法需要足够的内存。运行此算法之前,我们建议您阅读内存估算

句法

本节介绍在每种执行模式下执行 Leiden 算法所使用的语法。我们描述了该语法的命名图变体。要了解有关一般语法变体的更多信息,请参阅语法概述

每个模式的莱顿语法
  • 流模式
  • 统计模式
  • 变异模式
  • 写入模式
在命名图表上以流模式运行 Leiden。
CALL gds.leiden.stream(
  graphName: String,
  configuration: Map
)
YIELD
  nodeId: Integer,
  communityId: Integer,
  intermediateCommunityIds: List of Integer

1. 参数

姓名 类型 默认 选修的 描述

图名

细绳

n/a

存储在目录中的图表的名称。

配置

地图

{}

是的

算法特定和/或图形过滤的配置。

表 2. 配置
姓名 类型 默认 选修的 描述

1.分辨率越高,社区越多,分辨率越低,社区越少。

节点标签

字符串列表

['*']

是的

使用给定的节点标签过滤命名的图表。具有任何给定标签的节点都将包括在内。

关系类型

字符串列表

['*']

是的

使用给定的关系类型过滤命名图。将包括具有任何给定类型的关系。

并发

整数

4

是的

用于运行算法的并发线程数。

工作编号

细绳

Generated internally

是的

可以提供一个ID来更轻松地跟踪算法的进度。

记录进度

布尔值

true

是的

如果禁用,则不会记录进度百分比。

关系权重属性

细绳

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北京橙溪 www.enwing.com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值