使用 sklearn.cluster.SpectralClustering 查找聚类质心或".means_"



我有一个未标记的数据集,我正在尝试使用各种聚类算法进行聚类。

我成功地使用.means_在sklearn.mix.GaussianMix中找到质心/"每个混合物成分的平均值"。在我的代码中,我采用最接近平均值的点来获得每个集群的代表性样本。

我想用SpectralClustering做同样的事情,但我没有看到".means_"方法或某种方法来获取每个聚类的质心。这可能是由于我对光谱聚类的工作原理有误解,或者只是这个库中缺乏功能。

举个例子,我想做:

sc = SpectralClustering(n_components=10, n_init=100)
sc.fit(data)
closest, _ = pairwise_distances_argmin_min(sc.means_, data)

但是,当然,SpectralClustering没有.means_方法。

感谢您对此的任何帮助。

心用于KMean算法。对于光谱聚类,该算法仅存储亲和矩阵和从算法获得的标签。

光谱聚类(或任何其他聚类算法)是否使用聚类中心并不重要!

您可以计算任何集群的质心!它是该集群中元素的平均值(嗯,实际上有一个约束,数据集本身允许平均值的概念)。

因此,使用光谱聚类计算聚类。对于每个聚类,计算其中元素的平均值(即由 m 个 n 维元素组成的聚类的每个维度上的平均值)。

最新更新