值与PCA中的各列的对应关系如何解释[variance_ratio_]?

时间:2018-07-25 09:13:47

标签: python pandas machine-learning scikit-learn statistics

我有一些数据框df,并想在其上使用explained_variance_ratio_。

X_std = StandardScaler().fit_transform(df)
Y_pca = pca.fit_transform(X_std)
pca.explained_variance_ratio_

结果我得到了这样的东西:

array([0.3894487 , 0.25278034, 0.16070989, 0.10005305, 0.07093894,
   0.02606909])

问题是,如果我交换列,则pca.explained_variance_ratio_的结果仍然相同。那么如何将值与列相对应?

1 个答案:

答案 0 :(得分:0)

PCA对于功能 / 变量(列)的置换不变

pca.explained_variance_ratio_获得的值是每个component的解释方差之比。

array([0.3894487 , 0.25278034, 0.16070989, 0.10005305, 0.07093894,
       0.02606909])

由于pca.explained_variance_ratio_中有6个值,这意味着n_components为6。

这些值对应于主要成分/轴,您可以看到 PC1解释了38.9% PC2解释了<25.27% strong>方差等