cdlib.algorithms.hierarchical_link_community_full¶
- cdlib.algorithms.hierarchical_link_community_full(g_original: object, weight='weight', simthr=None, hcmethod='single', min_edges=None, verbose=False) EdgeClustering¶
HLC(层次链接聚类)是一种将链接分类为拓扑相关组的方法。 该算法使用链接之间的相似性来构建一个树状图,其中每个叶子是原始网络中的一个链接,分支代表链接社区。 在链接树状图的每个级别上,基于社区内部的链接密度计算分区密度函数,以选择最佳切割级别。 此实现完全遵循Ahn等人描述的算法,并使用numpy/scipy来改进聚类计算(它更快且消耗更少的内存)。
支持的图表类型
无向
有向
加权
是的
否
是的
- Parameters:
g_original – 一个 networkx/igraph 对象
weight – 对于未加权的网络为None,使用jaccard近似。当使用字符串定义时,边属性名称(通常为‘weight’)将用作权重,并使用Tanimoto近似。
simthr – 默认值为 None。如果设置为浮点数,相似矩阵中所有小于阈值的值将被设置为 0(这可能会减少内存使用)。
hcmethod – 用于层次聚类中的链接方法,默认为‘single’。参见scipy.cluster.hierarchy.linkage以获取完整的方法列表。
min_edges – 默认为 None。如果设置为浮点数,则表示一个社区必须包含的最小边数,以便保留在聚类中。
verbose – 如果为True,将中间步骤写入磁盘。
- Returns:
边缘聚类对象
- Example:
>>> from cdlib import algorithms >>> import networkx as nx >>> G = nx.karate_club_graph() >>> com = algorithms.hierarchical_link_community_full(G)
- References:
Ahn, Yong-Yeol, James P. Bagrow, 和 Sune Lehmann. 链接社区揭示了网络中的多尺度复杂性。 nature 466.7307 (2010): 761.