Python 值如何对应PCA中的列?方差?比率?

Python 值如何对应PCA中的列?方差?比率?,python,pandas,machine-learning,scikit-learn,statistics,Python,Pandas,Machine Learning,Scikit Learn,Statistics,我有一些数据帧df,想在上面使用解释的方差比 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.explaine

我有一些数据帧
df
,想在上面使用解释的方差比

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\u variation\u ratio\u
的结果仍然是一样的。那么,我如何才能知道值如何对应于列呢?

PCA是不变的功能的/变量的排列(列)

从pca.explained_variance_ratio(解释的方差比)中获得的值是每个
分量的解释方差比

array([0.3894487 , 0.25278034, 0.16070989, 0.10005305, 0.07093894,
       0.02606909])
因为,
pca中有6个值。解释的方差比
意味着
n分量
为6


这些值对应于主成分/轴,您可以看到PC1解释了方差的38.9%PC2解释了方差的25.27%e.t.c.

在交换时您在谈论哪些列?输入功能<代码>解释的方差比等于PCA的输出成分数,而不是输入。事实上,输入列的顺序与主成分的计算无关