我正在尝试sklearn的光谱聚类,为了设置最佳的聚类数,我想使用本文提出的方法“自校正光谱聚类”(发表在NIPS上)。这种方法需要特征值和特征向量,我意识到sklearn谱聚类并没有提供它。在
有没有办法从sklearn谱聚类中得到特征值和特征向量?在
这是纸龙头
@article{zelnik2005self,
title={Self-tuning spectral clustering},
author={Zelnik-Manor, Lihi and Perona, Pietro},
year={2005},
publisher={MIT Press}
}
如果查看以下源文件:
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
最终可以看到计算特征值/向量的一种方法是
这里,} 。在
eigh
引用源文件顶部提到的^{就像@anony mousse说的,你可以在源代码中找到它。在
在
sklearn\cluster\spectral.py
中的sklean源代码中有一行:maps
包含特征向量。默认情况下,spectral_embedding
只输出特征向量,但您可以修改它以输出特征值(通常命名为lambdas
)。你也可以简单地用你选择的特征解算器从亲和矩阵中计算它们。在相关问题 更多 >
编程相关推荐