我有一些数据框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_
的结果仍然相同。那么如何将值与列相对应?
答案 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>方差等