我有一个大的输入矩阵,大小为(20, 20000),正在尝试使用sklearn Python包执行PCA。这里,20指的是20个受试者,20000指的是20000个特征。以下是示例代码:
import numpy as np
from sklearn.decomposition import PCA
rng = np.random.RandomState(1)
X = rng.randn(20, 20000)
pca.fit(X)
X.shape =
>> (20, 20000)
pca = PCA(n_components=21)
pca.fit(X)
X_pca = pca.transform(X)
print("Original shape: ", X.shape)
print("Transformed shape: ", X_pca.shape)
>> Original shape: (20, 20000)
>> Transformed shape: (20, 20)
使用PCA时,我不能获得比我的x值数量更多的成分(为什么我们在获取PCA成分时受到x值长度的限制)?