gpt4 book ai didi

python - PCA 上的组件数量受样本数量限制

转载 作者:行者123 更新时间:2023-11-30 09:52:41 25 4
gpt4 key购买 nike

我正在使用 sklearn 进行 PCA,我正在使用一些虚拟数据测试函数,当我的样本数量多于我想要使用的组件数量时,它工作得很好:

from sklearn.decomposition import PCA
import numpy as np

features_training = np.random.rand(10,30)
components = 8
pca = PCA(n_components=int(components))
X_pca = pca.fit_transform(features_training)

从上面的代码中我得到一个 10*8 矩阵。

X_pca.shape
(10, 8)

但是对于相同的数据,如果我尝试保留 15 个组件:

features_training = np.random.rand(10,30)
components = 15
pca = PCA(n_components=int(components))
X_pca = pca.fit_transform(features_training)

我得到的不是 10*15 矩阵,而是 10*10 矩阵。

X_pca.shape
(10, 10)

所以看来组件的数量不仅受到特征数量的限制,而且还受到样本数量的限制。这是为什么?

最佳答案

我无法告诉您 PCA 的实际工作原理。但在 Scikit-learn documentation for PCA ,其中提到实际的n_components = min(n_samples, 指定的n_components)

关于python - PCA 上的组件数量受样本数量限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42036271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com