【发布时间】:2014-08-19 03:41:56
【问题描述】:
我有一个 68 维 * 100 个观察值的数据集,可以在 python 中使用 matplotlib 创建一个 pca 空间。
现在我得到了另一组 6 维 * 100 个观测值的数据 (x)。是否可以将这些数据投影到之前创建的 pca 空间上?
我尝试使用pca_space.project(x)进行投影,但是pca空间的维度与新的数据集不匹配,不起作用。
【问题讨论】:
-
我认为这没有任何意义。 PCA 转换从原始数据空间映射到 PCA 空间。如果原始数据空间为 68 维,则变换的域为 68 维空间。您打算如何将 6 维空间与此相关联?
-
我想展示新数据集中的每个变量如何与每个主成分相关,并将它们映射到 2D 图上(PC1 与 PC2)。如果我对 x 中的每个变量和每台 PC 上的数据进行点积,例如x * 上第一个变量的所有观察结果。 PC1 上的所有观察结果,返回值是否适合将该变量映射到 PC1 上?
-
我认为为了做到这一点,您需要一些关于如何将新维度映射到现有 PCA 空间的额外信息。我不太明白你对那个点产品的想法是什么意思。您只能点两个相同维度的向量。新数据中的维数 (6) 是否与 PCA 维数相同?
-
新数据为 6*100,PCA 的结果(PC 的原始数据矩阵)为 68*100。如果我从新数据(1*100 向量)和 PC1 的结果(1*100 向量)中取一个变量,然后做两个的点积。这会给我一个值,但这个值是否以 PC1 而言?
-
我认为这没有什么意义,因为这两个向量横切了数据点(即,您的 1*100“向量”实际上包含来自 100 个不同向量中的每一个的一个元素)。我想你在Cross Validated 或Data Science SE 上询问这个问题可能会更好,因为这里真正的问题似乎是如何使用 PCA 的概念问题,而不是如何对其进行编程。
标签: python matplotlib projection pca