无法理解sklearn.decomposition.PCA的输出



我对PCA算法有点困惑,尤其是在sklearn中实现的PCA算法。

当我在具有4000X784矩阵的sklearn分解中使用主成分分析时

X.shape = (4000,784)
pca = PCA()
pca.fit(X)
pca.explained_variance_.shape

我得到

(784,)

另一方面,当我使用另一个形状为(50,784) 的数据集时

(50,)

我做错什么了吗?

让我们看看:

explained_variance_ratio_ 数组,[n-components]每个选定组件解释的方差百分比。则存储所有分量,并且解释的方差之和等于1.0

在第一种情况下,数据有4000个元素和748个组件,因此该属性为您提供了一个748个值的数组。如果这是正确的,那么您需要转换第二个数据集。

使用PCA得到的分量的最大数量等于X矩阵的最小维数。

explained_variance_方法向您显示每个主成分分析分量对数据方差的解释程度。

这些阵列形状是正常的,因为当数据多于功能时,会得到768个组件,但当数据为50行时,只有50个组件。

相关内容

  • 没有找到相关文章

最新更新