我收到此错误 n_components=1000 must be between 0 and min(n_samples, n_features)=2 with svd_solver='full'

Eda*_*Eda 5 python matrix pca dimensionality-reduction deep-learning

我想使用 pca 降维来降低大小为 (5,3844) 的矩阵的维数。I got this error n_components=1000 must be between 0 and min(n_samples, n_features)=2 with svd_solver='full'.

我尝试了超过 5 周的时间来寻找如何做到这一点。

任何帮助,将不胜感激。

coeffs = wavedec(y, 'sym5', level=5)
cA5,cD5,cD4,cD3,cD2,cD1=coeffs
result = []
    common_x = np.linspace(0,3844, len(cD1))
    for c in [cD5,cD4,cD3,cD2,cD1]:
        x = np.linspace(0, 3844, len(c))
        f = interp1d(x, c)
        result.append(f(common_x)) #(5,3844)
    pca = PCA(n_components=1000)
    pca.fit(result)
    data_pca = pca.transform(result)
    print("original shape:   ", result.shape) ##(5,3844)
    print("transformed shape:", data_pca.shape) 

Run Code Online (Sandbox Code Playgroud)