R中具有分类变量的PCA

数据挖掘 r 主成分分析
2022-02-21 15:20:35

对于具有分类变量的数据,是否有任何 PCA 包?

2个回答

不,没有。我希望有。它会让生活变得更轻松。

分类变量就是:一个类别。它可以用一个数字表示,但不能像一个数字一样对待。例如,如果您有一个带有颜色的汽车列表,并且颜色是这样表示的:

1 = red 2 = blue 3 = green

您不能真正将它们作为数字使用。例如,你不能说蓝色是平均颜色,因为 1 + 2 + 3 的平均值是 2。

您可以做的是创建虚拟变量,通常是 0 和 1,然后描述类别。在我们的示例中:

0 = not red 1 = red

然后,您可以沿着类似的路线为其他颜色创建虚拟对象:

0 = not blue 1 = blue

0 = not green 1 = green

这可以在不同的列中完成,以使事情变得更容易。这都是数据变现的一部分,将其成形,以便您可以进行分析。

不。

任何降维技术都假设您正在处理代数值,而分类变量没有这样的含义。

如果您有一个分类变量,例如 - 家庭的宠物(猫、狗、红鱼)之一映射到(0、1、2),那么您根本不能说猫和狗之间的距离等于一,因为这些类别不在代数空间中。

因此,在这些情况下,您可以对变量进行一次性编码,也就是虚拟化。然后,您可以安全地应用 PCA 或任何其他降维技术。