cdlib.algorithms.lemon¶
- cdlib.algorithms.lemon(g_original: object, seeds: list, min_com_size: int = 20, max_com_size: int = 50, expand_step: int = 6, subspace_dim: int = 3, walk_steps: int = 3, biased: bool = False) NodeClustering¶
Lemon 是一种基于局部扩展的大规模重叠社区检测方法,通过最小一范数实现。
该算法采用局部扩展方法,以便从一些示例种子成员中识别社区成员。 该算法通过在局部谱的跨度中寻找一个稀疏向量来找到社区,使得种子在其支持中。LEMON可以在最先进的提案中实现最高的检测精度。运行时间取决于社区的大小,而不是整个图的大小。
支持的图表类型
无向
有向
加权
是的
否
否
- Parameters:
g_original – 一个 networkx/igraph 对象
seeds – 节点列表
min_com_size – 网络中单个社区的最小大小,默认为20
max_com_size – 网络中单个社区的最大大小,默认值为50
expand_step – 扩展过程中种子集增加的步长,默认为6
subspace_dim – 子空间的维度;选择较大的维度是不理想的,因为它会增加生成局部光谱的计算成本,默认值为3
walk_steps – 随机游走的步数,默认为3
biased – 布尔值;如果从种子节点开始的随机游走,则设置为True,默认为False
- Returns:
节点聚类对象
- Example:
>>> from cdlib import algorithms >>> import networkx as nx >>> G = nx.karate_club_graph() >>> seeds = ["$0$", "$2$", "$3$"] >>> coms = algorithms.lemon(G, seeds, min_com_size=2, max_com_size=5)
- References:
李逸轩, 何坤, David Bindel, John Hopcroft 揭示大型网络中的小社区结构:一种局部谱方法。 第24届国际万维网会议论文集。国际万维网会议指导委员会, 2015.