scikit-learn 中的 SpectralClustering 与 spectral_clustering

SpectralClustering vs. spectral_clustering in scikit-learn

我注意到 sklearn.cluster 库中有两个不同的谱聚类函数:SpectralClustering and spectral_clustering。虽然它们在某些细节上有所不同,但两者都进行谱聚类并且它们的大部分参数重叠。我很困惑为什么sklearn中有两种如此相似的方法?

我注意到的一些差异:

使用 SpectralClustering:

cluster=SpectralClustering().fit(X)
cluster.labels_

使用spectral_clustering:

labels=spectral_clustering(affinity_matrix)

尽管存在这些明显的差异,但我想知道这两种方法在基本方面是否存在差异。否则为什么有两种方法可以完成基本相同的事情?

你查看源代码了吗?

我希望 SpectralClustering 是命令式方法的面向对象包装器 spectral_clustering