cdlib.algorithms.spectral

cdlib.algorithms.spectral(g_original: object, kmax: int = 2, projection_on_smaller_class: bool = True, scaler: Callable | None = None) NodeClustering

SCD实现了一种用于社区发现的谱聚类算法。 它基于Fielder向量(从与归一化拉普拉斯矩阵的第二特征值相关的特征向量获得),利用Kmeans聚类提取社区。 SCD是一种受基于模块度的聚类技术启发的层次图聚类算法。 该算法是凝聚性的,基于由采样节点对概率引起的簇之间的简单距离。

支持的图表类型

无向

有向

加权

二分图

是的

Parameters:
  • g_original – 一个 networkx/igraph 对象

  • kmax – 所需社区的最大数量(必填)。默认值为2。

  • projection_on_smaller_class – 一个布尔值,如果为True,则在节点的最小类中投影二分网络。(默认值为True)

  • scaler – 用于缩放字段向量的函数,以应用KMeans

Returns:

节点聚类对象

Example:

>>> from cdlib import algorithms
>>> import networkx as nx
>>> G = nx.karate_club_graph()
>>> coms = algorithms.spectral(G, kmax=2)
References:

Higham, Desmond J., Gabriela Kalna, 和 Milla Kibble. “谱聚类及其在生物信息学中的应用.” 计算与应用数学杂志 204.1 (2007): 25-37.

注意

实现由Gianmarco Pepi <g.pepi2@unipi.it>, Monia Bennici <m.bennici4@studenti.unipi.it>, Khashayar Abtin <k.abtin@studenti.unipi.it> 和 Kamran Mehravar <k.mehravar@studenti.unipi.it> 提供(意大利比萨大学计算机科学系)