【问题标题】:How do I properly return an array after iterating and doing PCA迭代和执行 PCA 后如何正确返回数组
【发布时间】:2021-02-14 02:48:41
【问题描述】:

我有一个名为 x_train 的 3d 数组(样本、时间步、特征),我想在其中迭代并针对每个样本的 2D 数组(时间步、特征)执行 PCA。我有这段代码,但是因为它返回一个 5x1 数组,所以我在返回值时遇到了问题:

from sklearn.decomposition import PCA
pca = PCA(n_components=1)
X_transform_PCA = np.zeros((x_train.shape[0], 1))
for i in range(x_train.shape[0]):
    pca = PCA(n_components=1)
    f  = pca.fit_transform(x_train[i, :, :])
    X_transform_PCA[i,:] = f
print(X_transform_PCA.shape[0])

【问题讨论】:

    标签: python numpy pca


    【解决方案1】:

    我想通了。看起来这样就成功了。

    X_transform_PCA = []
    
    from sklearn.decomposition import PCA
    pca = PCA(n_components=1)
    for i in range(x_train.shape[0]):
        pca = PCA(n_components=1)
        f  = pca.fit_transform(x_train[i, :, :])
        X_transform_PCA.append(f)
    print(X_transform_PCA)
    

    【讨论】:

      猜你喜欢
      • 2020-06-14
      • 2012-02-04
      • 2022-06-15
      • 2017-08-16
      • 1970-01-01
      • 2022-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多