我正在尝试使用 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
您需要访问
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]
谢谢塞拉卢克
我使用这个方程得到了 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_'