【发布时间】:2019-09-04 07:26:14
【问题描述】:
我注意到 sklearn.cluster 库中有两个不同的谱聚类函数:SpectralClustering 和 spectral_clustering。尽管它们在某些细节上有所不同,但都进行了谱聚类,并且它们的大多数参数重叠。我很困惑为什么sklearn中有两种方法如此相似?
我注意到的一些差异:
在 SpectralClustering 中,参数
affinity接受字符串和数组;它的默认值为'rbf';在spectral_clustering中它只能是一个矩阵SpectralClustering() 像构造函数一样工作。它不返回任何内容,但有两个属性
affinity_matrix_(您可以在调用.fit() 后访问)和labels_。 Spectrum_clustering 是一种只返回标签的方法。
使用 SpectralClustering:
cluster=SpectralClustering().fit(X)
cluster.labels_
使用spectral_clustering:
labels=spectral_clustering(affinity_matrix)
尽管存在这些明显的差异,但我想知道这两种方法是否在基本方面有所不同。否则为什么有两种方法可以完成基本相同的事情?
【问题讨论】:
标签: python scikit-learn cluster-analysis