截断的SVD需要大量时间

时间:2019-05-13 19:50:22

标签: python scikit-learn pca svd

我正在尝试通过使用截断的SVD计算可能是最好的n_components来减少数据集的维数,但这会花费很多时间。

from sklearn.decomposition import TruncatedSVD
pca = TruncatedSVD()
pca.n_components = 10048
pca_data = pca.fit_transform(X_tr)
percentage_var_explained = pca.explained_variance_ / 
np.sum(pca.explained_variance_);cum_var_explained = np.cumsum(percentage_var_explained)

1 个答案:

答案 0 :(得分:0)

您可以改用以下内容(如果我们想保留数据中95%的差异,请根据需要更改数字):

from sklearn.decomposition import PCA
pca = PCA(n_components = 0.95)
reduced = pca.fit_transform(X)

如果我错过了要点,请告诉我没有连接的地方,我会尽力提供帮助。