节点集群

属于这一类的算法生成由节点组成的社区。 这些社区可以表示清晰的、明确的分区,以及重叠的甚至是模糊的分区。

注意

以下列表与CDlibGitHub主分支中可用的CD方法对齐。

脆皮社区

如果每个节点属于且仅属于一个社区,则聚类被视为分区。 因此,此子类中的方法返回一个NodeClustering对象实例。

agdl(g_original, number_communities, kc)

AGDL 是一种基于图的凝聚算法,用于聚类高维数据。

async_fluid(g_original, k)

流体社区(FluidC)基于一个简单的想法,即流体(即社区)在环境(即非完全图)中相互作用,扩展和收缩。

bayan(g_original[, threshold, time_allowed, ...])

巴彦算法是一种社区检测方法,能够为模块化最大化问题提供全局最优解。

belief(g_original[, max_it, eps, ...])

信念社区寻求许多高模块化分区的共识。

cpm(g_original[, initial_membership, ...])

CPM 是一个模型,其中要优化的质量函数是:

der(g_original[, walk_len, threshold, ...])

DER 是一种扩散熵减少图聚类算法。

eigenvector(g_original)

Newman的主要特征向量方法,用于基于模块性检测社区结构。

em(g_original, k)

EM基于混合模型。

ga(g_original[, 种群, 代数, r])

基于遗传的方法来发现社交网络中的社区。

gdmp2(g_original[, min_threshold])

Gdmp2 是一种用于识别给定稀疏图中一组密集子图的方法。

girvan_newman(g_original, level)

Girvan–Newman算法通过逐步从原始图中移除边来检测社区。

greedy_modularity(g_original[, weight])

CNM算法使用模块化来发现社区结构。

head_tail(g_original[, head_tail_ratio])

通过在边缘介数上应用头/尾分割来识别复杂网络中的同质社区,考虑到其重尾分布。

infomap(g_original[, 标志])

Infomap 基于信息论的思想。

kcut(g_original[, kmax])

一种高效的网络社区发现谱算法。

label_propagation(g_original)

标签传播算法(LPA)仅使用网络结构来检测社区。

leiden(g_original[, initial_membership, weights])

Leiden算法是Louvain算法的改进。

louvain(g_original[, partition, weight, ...])

Louvain 最大化每个社区的模块化分数。

lswl(g_original, query_node[, ...])

LSWL 本地精确、确定且快速地发现网络的社区。

lswl_plus(g_original[, strength_type, ...])

LSWL+ 能够根据用户偏好找到具有重叠社区或不具有重叠社区的分区。

markov_clustering(g_original[, expansion, ...])

马尔可夫聚类算法(MCL)基于图中(随机)流的模拟。

mcode(g_original[, 权重, 权重阈值])

MCODE 是最早的种子生长方法,用于从 PPI 网络中预测蛋白质复合物。

mod_m(g_original, query_node)

社区发现算法,旨在从给定的源顶点开始,在大型网络中找到局部最优的社区结构。

mod_r(g_original, query_node)

社区发现算法,通过一次探索一个顶点来推断包含给定顶点的社区层次结构。

paris(g_original)

Paris 是一种受基于模块化的聚类技术启发的层次图聚类算法。

pycombo(g_original[, weight, ...])

这是社区检测算法“Combo”的实现(用于模块化最大化)。

rber_pots(g_original[, initial_membership, ...])

rber_pots 是一个模型,其中要优化的质量函数是:

rb_pots(g_original[, initial_membership, ...])

Rb_pots 是一个模型,其中要优化的质量函数是:

ricci_community(g_original[, alpha, method])

曲率是描述物体局部形状的几何属性。

r_spectral_clustering(g_original[, ...])

谱聚类根据图的拉普拉斯矩阵的特征向量将图的节点划分为组。

scan(g_original, epsilon, mu)

SCAN(网络结构聚类算法)是一种检测网络中集群、枢纽和异常值的算法。

significance_communities(g_original[, ...])

Significance_communities 是一个模型,其优化的质量函数为:

spinglass(g_original[, spins])

Spinglass依赖于一种非常流行的统计力学模型,称为Potts自旋玻璃,与社区结构之间的类比。

surprise_communities(g_original[, ...])

Surprise_communities 是一个模型,其中要优化的质量函数是:

walktrap(g_original)

walktrap 是一种基于随机游走的方法。

sbm_dl(g_original)

用于推断随机块模型的高效蒙特卡罗和贪婪启发式方法。

sbm_dl_nested(g_original)

用于推断随机块模型的高效蒙特卡罗和贪婪启发式方法。

spectral(g_original[, kmax, ...])

SCD 实现了一种用于社区发现的谱聚类算法。

threshold_clustering(g_original[, ...])

该算法专为语义相似性网络开发,特别针对加权有向图。

重叠社区

如果任何通用节点可以被分配到多个社区,则称聚类为重叠。 因此,此子类中的方法返回一个NodeClustering对象实例。

aslpaw(g_original)

ASLPAw 可用于不相交和重叠的社区检测,并适用于加权/非加权和有向/无向网络。

angel(g_original, threshold[, ...])

Angel 是一种以节点为中心的自下而上的社区发现算法。

coach(g_original[, density_threshold, ...])

核心附着(CoAch)算法的动机来自于对蛋白质复合物通常具有高度互动的蛋白质密集核心的观察。

conga(g_original, number_communities)

CONGA(Cluster-Overlap Newman Girvan Algorithm)是一种用于发现重叠社区的算法。

congo(g_original, number_communities[, height])

CONGO(CONGA优化)是对CONGA算法的优化。

core_expansion(g_original[, 容忍度])

核心扩展自动检测网络中每个可能社区的核心。

dcs(g_original)

分而治之策略

demon(g_original, epsilon[, min_com_size])

Demon 是一种以节点为中心的自下而上的重叠社区发现算法。

dpclus(g_original[, weights, d_threshold, ...])

DPClus 使用共同邻居方法将权重投影到未加权的图上。

ebgc(g_original)

基于熵的聚类方法通过以最小化图熵的方式增长随机种子来找到局部最优聚类。

ego_networks(g_original[, level])

Ego-networks 返回以每个节点为中心,在给定半径内的重叠社区。

endntm(g_original[, 聚类, 误差])

基于集成方法的分布式邻域阈值方法(EnDNTM)的重叠社区检测算法。

kclique(g_original, k)

使用渗透方法在图中找到k-团社区。

graph_entropy(g_original[, 权重])

该方法利用了信息论中熵的概念。

ipca(g_original[, 权重, t_in])

IPCA由Li等人(2008年)提出,作为DPClus的改进版本。

lais2(g_original)

LAIS2 是一种基于密度函数的重叠社区发现算法。

lemon(g_original, seeds[, min_com_size, ...])

Lemon 是一种基于局部扩展的大规模重叠社区检测方法,通过最小一范数实现。

lpam(g_original[, k, threshold, distance, seed])

围绕中心点的链接分区

lpanni(g_original[, threshold])

LPANNI(具有邻居节点影响的标签传播算法)通过采用基于节点重要性升序的固定标签传播序列和基于邻居节点影响及历史标签优先策略的标签更新策略来检测重叠社区结构。

lfm(g_original, alpha)

LFM基于适应度函数的局部优化。

multicom(g_original, seed_node)

MULTICOM 是一种通过扩展初始种子集来检测可能重叠的多个本地社区的算法。

node_perception(g_original, threshold, ...)

节点感知基于将小节点集连接在一起的想法。

overlapping_seed_set_expansion(g_original, seeds)

OSSE 是一种优化传导社区得分的重叠社区检测算法。该算法使用种子集扩展方法;关键思想是找到好的种子,然后使用个性化 PageRank 聚类过程扩展这些种子集。

umstmo(g_original)

基于所有最大生成树并集的重叠社区检测

percomvc(g_original)

PercoMVC方法由两个步骤组成。

slpa(g_original[, t, r])

SLPA是一种扩展了LPA的重叠社区发现算法。

walkscan(g_original[, nb_steps, eps, ...])

利用PageRank节点评分的随机游走社区检测方法。

wCommunity(g_original[, min_bel_degree, ...])

识别加权图中重叠社区的算法

模糊社区

如果每个节点可以(以不同的可能性程度)属于多个社区,则聚类是模糊的。 因此,此子类中的方法返回一个FuzzyNodeClustering对象实例。

frc_fgsn(g_original, theta, eps, r)

基于模糊粗糙社区检测的社交网络模糊粒度模型。

principled_clustering(g_original, cluster_count)

一种高效且有原则的检测网络中社区的方法

节点属性

因此,此子类中的方法返回一个AttrNodeClustering对象实例。

eva(g_original, labels[, weight, ...])

Eva算法扩展了Louvain方法,以便处理节点的属性(也称为Louvain扩展到顶点属性)。

ilouvain(g_original, labels)

I-Louvain算法扩展了Louvain方法,以便仅处理节点的标量属性。

二分图社区

因此,此子类中的方法返回一个BiNodeClustering对象实例。

bimlpa(g_original[, theta, lambd])

BiMLPA 旨在使用多标签传播算法检测二分网络中的多对多对应社区。

condor(g_original)

用于二分社区结构检测的BRIM算法。

CPM_Bipartite(g_original, ...[, ...])

CPM_Bipartite 是 CPM 对二分图的扩展

infomap_bipartite(g_original[, flags])

Infomap 基于信息论的思想。

spectral(g_original[, kmax, ...])

SCD 实现了一种用于社区发现的谱聚类算法。

反链社区

此子类中的方法旨在从有向无环图(DAG)中提取社区并返回。结果是一个NodeClustering对象实例。

siblinarity_antichain(g_original[, ...])

该算法从DAG中提取社区,这些社区(i)尊重其内在顺序,并且(ii)由相似的节点组成。

边缘聚类

属于这一类的算法生成由边组成的社区。 它们返回一个EdgeClustering对象实例作为结果。

hierarchical_link_community(g_original)

HLC(层次链接聚类)是一种将链接分类为拓扑相关组的方法。