Scikit learn SKPCA中的组件数

Scikit learn SKPCA中的组件数,scikit-learn,linear-algebra,pca,eigenvalue,eigenvector,Scikit Learn,Linear Algebra,Pca,Eigenvalue,Eigenvector,我在理解sklearn的PCA方法中组件的最大数量时遇到了一个问题。文件说明,如果未指定编号,将选择: n_components == min(n_samples, n_features) 现在让我们考虑一个例子: 我有一个包含100个数据值和3000个特征的矩阵,其大小为100 x 3000。相应的协方差矩阵的大小应为3000 x 3000,据此,应存在3000个可能的特征值 现在的问题是:为什么分量的最大值总是样本和特征的较小数量,在本例中为100,即使我指定3000作为参数?有几种解释P

我在理解sklearn的PCA方法中组件的最大数量时遇到了一个问题。文件说明,如果未指定编号,将选择:

n_components == min(n_samples, n_features)

现在让我们考虑一个例子:

我有一个包含100个数据值和3000个特征的矩阵,其大小为100 x 3000。相应的协方差矩阵的大小应为3000 x 3000,据此,应存在3000个可能的特征值


现在的问题是:为什么分量的最大值总是样本和特征的较小数量,在本例中为100,即使我指定3000作为参数?

有几种解释PCA的方法,每种方法解释的原因略有不同。该算法计算A.A^T的瘦(“经济模式”)奇异值分解,该分解只计算与最小维度相同数量的奇异值/向量。另一种查看PCA的方法是为您提供一组最能描述数据的正交线性特征组合。如果只有100个样本,最多只能描述100个正交向量,而不适合数值噪声。这有帮助吗?@AhmedFasih这很有帮助,谢谢。如果它符合答案的条件,它应该被做成一个。有几种解释PCA的方法,每种方法解释的原因都有点不同。该算法计算A.A^T的瘦(“经济模式”)奇异值分解,该分解只计算与最小维度相同数量的奇异值/向量。另一种查看PCA的方法是为您提供一组最能描述数据的正交线性特征组合。如果只有100个样本,最多只能描述100个正交向量,而不适合数值噪声。这有帮助吗?@AhmedFasih这很有帮助,谢谢。如果它符合答案的条件,它应该被做成一个答案。