python - scikit-learn 中的 SpectralClustering 与 Spectral_clustering
问题描述
我注意到 sklearn.cluster 库中有两个不同的光谱聚类函数:SpectralClustering和spectral_clustering。尽管它们在某些细节上有所不同,但都进行了谱聚类,并且它们的大多数参数重叠。我很困惑为什么sklearn中有两种方法如此相似?
我注意到的一些差异:
在 SpectralClustering 中,参数
affinity
接受字符串和数组;它的默认值为'rbf'
; 在spectral_clustering中它只能是一个矩阵SpectralClustering() 像构造函数一样工作。它不返回任何内容,但有两个属性
affinity_matrix_
(您可以在调用 .fit() 后访问)和labels_
. Spectrum_clustering 是一种只返回标签的方法。
使用光谱聚类:
cluster=SpectralClustering().fit(X)
cluster.labels_
使用spectral_clustering:
labels=spectral_clustering(affinity_matrix)
尽管存在这些明显的差异,但我想知道这两种方法是否在基本方面有所不同。否则为什么有两种方法可以完成基本相同的事情?
解决方案
你检查源代码了吗?
我希望这SpectralClustering
是命令式方法的面向对象的包装器spectral_clustering
。
推荐阅读
- python - 如何在 Jupiter 笔记本中读取包含 .txt_ 文件的文件夹
- vb.net - asp.net vb Web 应用程序将数据从 Web 服务器打印到不干胶标签机
- javascript - 谷歌表格。查看者在工作表中的位置
- python - 如何从位于列表中的相应索引名称中过滤列表值?
- recursion - 榆树自动甘特线编号
- reactjs - 传递参数以重新选择 createStructuredSelector
- python - 导入错误:没有名为 Pandas Anaconda 的模块
- python - 没有名为 scrapy_splash 的模块
- javascript - 在 reactjs 中从可观察的 mobx 获取原始值
- postman - Keycloak 管理身份验证时如何访问 JHipster API