可能有人向我解释PCA(sklearn)的变量components_
。 sklearn(http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html)的官方URL确实使我感到困惑。
所以我有一个包含1000个特征的原始数据集,名为df
。
我做到了:
my_pca = PCA(n_components = 2)
my_pca.fit_transform (df)
my_pca.components_.shape # (2, 1000)
我可以将component_
的每个元素解释为原始特征对每个PCA值的影响吗?
谢谢
答案 0 :(得分:2)
计算PCA时,基本上是计算(相关或协方差)矩阵的特征值和特征向量。
因此,实际上您最多可以计算1000个特征向量。当您set n_components=2
时
您隐式地说,您只想计算前两个特征向量(与它们关联的最大特征值的向量)
components_
包含这些特征向量。
它们很重要,因为它们会编码您的投影规则。通过应用简单的矩阵乘法,它们使您可以从df
中样本所在的初始空间到缩减的二维空间。
proyected_sample = a_sample * np.transpose( my_pca.components_ )