【发布时间】:2021-07-30 09:38:36
【问题描述】:
我正在尝试计算数据集的 PCA 负载。我读得越多,就越感到困惑,因为“loadings”在许多地方的使用方式不同。
我在 python 中使用 sklearn.decomposition 进行 PCA 分析以及 R(使用 factomineR 和 factoextra 库),因为它提供了简单的可视化技术。以下是我的理解:
- pca.components_ 给我们特征向量。它们为我们提供了最大变化的方向。
- pca.explained_variance_ 为我们提供与特征向量相关的特征值。
- eigenvectors * sqrt(eigen values) = loadings,它告诉我们主成分 (pc's) 如何加载变量。
现在,我感到困惑的是:
-
许多论坛都说特征向量是载荷。然后,当我们将特征向量乘以 sqrt(特征值)时,我们就得到了关联强度。其他人说特征向量 * sqrt(eigen values) = loadings。
-
特征向量平方告诉我们变量对 pc 的贡献?我相信这相当于 R 中的 var$contrib。
-
加载平方(特征向量或特征向量*平方(特征值)我不知道是哪一个)显示了电脑捕获变量的能力(更接近 1 = 电脑更好地解释了变量)。这相当于 R 中的 var$cos2 吗?如果不是,R 中的 cos2 是什么?
-
基本上我想知道如何理解主成分捕获变量的能力以及变量对 pc 的贡献是什么。我认为它们是不同的。
-
什么是 pca.singular_values_?从文档中不清楚。
我提到的这些 first 和 second 链接包含带有解释的 R 代码和让我感到困惑的 statsexchange 论坛。
【问题讨论】:
-
你能限制1个问题吗?
-
@StupidWolf 所有问题都包含 PCA 分析的要点。所有这些都是相互关联的。我正在寻求对 PCA 术语的澄清。我希望它不会违反论坛规则。
-
我会说你让用户更难解决你的问题。回答其中一个问题算正确吗?
标签: r scikit-learn pca eigenvalue eigenvector