如何在迭代和执行 PCA 后正确 return 一个数组
How do I properly return an array after iterating and doing PCA
我有一个名为 x_train 的 3d 数组(样本、时间步长、特征),我想在其中遍历并对每个样本的 2D 数组(时间步长、特征)执行 PCA。我有这段代码,但因为它 returns 是一个 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])
我明白了。看起来成功了。
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)
我有一个名为 x_train 的 3d 数组(样本、时间步长、特征),我想在其中遍历并对每个样本的 2D 数组(时间步长、特征)执行 PCA。我有这段代码,但因为它 returns 是一个 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])
我明白了。看起来成功了。
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)