使用sklearn.manifold应用Python Isomap如何获取特征值

问题描述 投票:0回答:2

我正在尝试使用 sklearn.manifold Isomap 进行降维。
我有 10 列数据,我使用的组件数量 = 4。

如何获取每个组件的重量?
有没有一种方法可以提取每个分量的特征值?

这是我使用的代码

from sklearn.manifold import Isomap

embedding = Isomap(n_components=4, n_neighbors=6)
X_transformed = embedding.fit_transform(X[:])
X_transformed.shape  
python scikit-learn eigenvalue dimensionality-reduction
2个回答
0
投票

您需要访问

kernel_pca
方法,然后您可以找到特征值:

embedding.kernel_pca_.eigenvalues_

这是一个例子:

from sklearn.datasets import load_digits
from sklearn.manifold import Isomap
X, _ = load_digits(return_X_y=True)
X.shape
embedding = Isomap(n_components=2)
X_transformed = embedding.fit(X[:100])

print(embedding.kernel_pca_.eigenvalues_)
# [891862.11494232 201321.18711327]

0
投票

谢谢塞拉卢克
我使用这个方程得到了 Isomap 的特征值,并尝试使用代码对 LLE 应用相同的方法:

from sklearn import manifold
from sklearn.manifold import LocallyLinearEmbedding
from sklearn.decomposition import KernelPCA

embedding = LocallyLinearEmbedding(n_components=3)
print(embedding.kernel_pca_.eigenvalues_)

不幸的是我收到了一条错误消息

AttributeError: 'LocallyLinearEmbedding' object has no attribute 'kernel_pca_'

© www.soinside.com 2019 - 2024. All rights reserved.