SpectralClustering - 光谱聚类

什么是 SpectralClustering (光谱聚类) ?

  • 是一种基于图论的聚类方法,它利用数据的相似性矩阵进行聚类,而不是直接对数据点进行操作
  • 谱聚类算法的核心思想是将数据集中的每个样本看作图中的一个顶点,样本之间的相似度则作为边的权重。这种算法尤其擅长处理不均匀分布的数据,相对于传统的 K-Means 算法,谱聚类可以更好地适应数据的实际分布,通常能够得到更优秀的聚类效果
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     >>> from sklearn.cluster import SpectralClustering
    >>> import numpy as np
    >>> X = np.array([[1, 1], [2, 1], [1, 0],
    ... [4, 7], [3, 5], [3, 6]])
    >>> clustering = SpectralClustering(n_clusters=2,
    ... assign_labels='discretize',
    ... random_state=0).fit(X)
    >>> clustering.labels_
    array([1, 1, 1, 0, 0, 0])
    >>> clustering
    SpectralClustering(assign_labels='discretize', n_clusters=2,
    random_state=0)