首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从sklearn谱聚类中获得特征值和特征向量?

如何从sklearn谱聚类中获得特征值和特征向量?
EN

Stack Overflow用户
提问于 2016-12-15 13:55:14
回答 2查看 1.6K关注 0票数 2

我正在尝试sklearn中的谱聚类,为了设置最优聚类数,我想使用本文“自调整谱聚类”(发表在NIPS上)中建议的方法。这种方法需要特征值和特征向量,而我意识到sklearn谱聚类不提供它。

有没有办法从sklearn谱聚类中获得特征值和特征向量?

这是纸质的bibtex

代码语言:javascript
运行
复制
@article{zelnik2005self,
  title={Self-tuning spectral clustering},
  author={Zelnik-Manor, Lihi and Perona, Pietro},
  year={2005},
  publisher={MIT Press}
}
EN

回答 2

Stack Overflow用户

发布于 2018-08-30 03:39:47

如果您查看以下源文件:

https://github.com/scikit-learn/scikit-learn/blob/f0ab589f/sklearn/cluster/spectral.py#L259

然后

https://github.com/scikit-learn/scikit-learn/blob/f0ab589f/sklearn/manifold/spectral_embedding_.py#L308

您最终可以看到,计算特征值/向量的一种方法是

代码语言:javascript
运行
复制
lambdas, diffusion_map = eigh(laplacian)

在这里,eigh指的是在源文件顶部提到的scipy.linalg.eigh

票数 2
EN

Stack Overflow用户

发布于 2017-05-11 01:06:32

就像@anony-mousse所说的,你可以在源代码中找到它。

sklearn\cluster\spectral.py中的sklean源代码中有这样一行代码:

代码语言:javascript
运行
复制
maps = spectral_embedding(affinity...

maps包含特征向量。默认情况下,spectral_embedding仅输出特征向量,但您可以修改它以输出特征值(通常名为lambdas)。您也可以使用您选择的特征解析器从亲和度矩阵中简单地计算它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41157341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档