【问题标题】:sklearn spectral clustering results in smaller number of cluster than setsklearn 谱聚类导致的聚类数量少于集合
【发布时间】:2020-02-28 16:48:24
【问题描述】:
from sklearn.cluster import SpectralClustering
import numpy as np
test = np.array([[63.15907836],
       [69.67386298],
       [67.20030411],
       [66.25165771],
       [62.21031327],
       [55.09531565],
       [65.85034014],
       [52.99841912],
       [52.04523986],
       [52.09008007],
       [94.65364516]])
clustering = SpectralClustering(n_clusters = 4).fit(test)
clustering.labels_

上面的代码结果是array([3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1], dtype=int32),这让我很惊讶。光谱聚类需要设置一些聚类,我这样做了,但只得到了两个聚类。我错过了什么?

【问题讨论】:

    标签: python scikit-learn cluster-analysis


    【解决方案1】:

    有时,根据初始化,谱聚类(和 k-means)可以找到空聚类。

    例如,将random_state 设置为 17 会导致 4 个集群:

    clustering = SpectralClustering(n_clusters = 4, random_state=17).fit(test)
    

    您可以在 k-means 中找到它的说明(光谱聚类依赖于 k-means):http://user.ceng.metu.edu.tr/~tcan/ceng465_f1314/Schedule/KMeansEmpty.html

    【讨论】:

      猜你喜欢
      • 2018-11-05
      • 2016-07-29
      • 2013-03-07
      • 2016-08-07
      • 2017-12-03
      • 2023-03-24
      • 2023-03-12
      • 2019-07-30
      • 2016-04-24
      相关资源
      最近更新 更多