【问题标题】:how values corresponds to columns in PCA explained_variance_ratio_?值如何对应于 PCA 中的列解释_方差_比率_?
【发布时间】:2019-01-02 01:15:49
【问题描述】:

我有一些数据框 df 并想在其上使用 explain_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_ 的结果仍然相同。那么值如何对应列呢?

【问题讨论】:

  • 你在交换时指的是哪些列?输入功能? explained_variance_ratio_ 将等于来自 PCA 的输出组件的数量,而不是输入。
  • 确实,输入列的order与主成分的计算无关

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


【解决方案1】:

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 %强>方差等

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-09
    • 2017-09-30
    • 2017-09-07
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    相关资源
    最近更新 更多