cdlib.algorithms.r_spectral_clustering¶
- cdlib.algorithms.r_spectral_clustering(g_original: object, n_clusters: int = 2, method: str = 'vanilla', percentile: int | None = None) NodeClustering¶
谱聚类基于图的拉普拉斯矩阵的特征向量将图的节点划分为不同的组。尽管谱聚类被声称是“流行的”,但在使用图数据的应用研究中,谱聚类(无正则化)通常返回的节点划分并不有趣,通常会找到一个包含大部分数据的大簇和许多较小的簇,每个簇只有几个节点。该方法允许计算带有/不带有不同正则化函数的谱聚类,旨在解决这种限制。
支持的图表类型
无向
有向
加权
是的
否
否
- Parameters:
g_original – 一个 networkx/igraph 对象
n_clusters – 需要查看多少个聚类
method – 其中之一:“vanilla”、“regularized”、“regularized_with_kmeans”、“sklearn_spectral_embedding”、“sklearn_kmeans”、“percentile”。
percentile – 执行正则化的度分布百分位数。值在[0, 100]之间。如果method=”percentile”或“regularized”则为必填项,否则为None
- Returns:
节点聚类对象
- Example:
>>> from cdlib import algorithms >>> import networkx as nx >>> G = nx.karate_club_graph() >>> coms = algorithms.r_spectral_clustering(G, n_clusters=2, method="regularized", percentile=20)
- References:
张一林和卡尔·罗赫。“通过图电导理解正则化谱聚类。”arXiv预印本arXiv:1806.01468(2018)。