截断的 SVD 需要很多时间

Kas*_*iff 5 python svd pca scikit-learn

我试图通过使用截断的 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)
Run Code Online (Sandbox Code Playgroud)

TJ1*_*J15 -1

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

from sklearn.decomposition import PCA
pca = PCA(n_components = 0.95)
reduced = pca.fit_transform(X)
Run Code Online (Sandbox Code Playgroud)

如果我没有抓住重点,请告诉我哪里没有连接,我会尽力提供帮助。