n分量似乎并未截断计算的分量数

时间:2019-05-17 14:39:58

标签: scikit-learn pca

我正在尝试对一个大型数据集执行Kernal主成分分析(KPCA),我希望找到该数据集后去除低能量/高熵成分的原像。

我本来以为指定n_components参数会阻止nxn计算(及其存储),但是事实并非如此。至少kpca.alphas_和.lambdas_仍存储和计算了nxn个分量。

我在做错什么吗,或者该功能不能像truncated_svd那样操作?

我已经阅读了可解决内存和处理时间问题的流式KPCA方法,但随后我需要提出一种方法来形成原图像,而我感觉自己做不到这一点。

from sklearn.decomposition import KernelPCA as KPCA
from sklearn.datasets import make_blobs as mb
import numpy as np

X,y=mb(n_samples=400,cluster_std=[1,2,.25,.5,0.1],centers=5,n_features=2)
kpca=KPCA(kernel='rbf',fit_inverse_transform=True,gamma=10,n_components=50)
Xk=kpca.fit_transform(X)
print np.shape(kpca.lambdas_)

1 个答案:

答案 0 :(得分:0)

在我看来,告诉sklearn拟合逆函数可能还需要计算所有特征值/向量。 如果没有此字段,则其执行方式与truncated_svd相同。

假设我最终将需要制定/发现图像前近似方案。 如果您有任何了解,请随时在评论中发布。