我应该对整个数据集应用 PCA 还是仅对标称值应用 PCA?

数据挖掘 熊猫 预处理 主成分分析
2022-03-17 09:40:32

我有一个包含 14~ 个属性的数据集,其中大约一半是名义上的。我使用二进制矢量化器将这些值转换为多个属性。属性的数量自然而然地激增;我现在大约50岁。我已经研究过使用 PCA 来减少这个数字。

据我所知,我一直在阅读的内容,我应该从分析中排除我的目标变量。但我不确定我是否应该对整个剩余数据集(包括已经是数字的值,如“年龄”)执行 PCA,或者只对我从名义转换为数字的值执行 PCA,然后将它们重新添加到已经是数值。

澄清一下,我已经将此数据集从标称转换为二进制,我不确定是否应该将 PCA 应用于生成的二进制列或整个事物。

2个回答

不建议您将 PCA 应用于具有标称值的数据集。可以,但 PCA 会转换空间中的变量。在空间中很难找到标称值之间的关系。例如,如何量化“男性”和“女性”或“白色”和“红色”或“PC”和“手机”之间的空间?

一些替代方案是

  1. 使用树模型,如随机森林,可以轻松处理标称值。
  2. 在 R 中使用 FactoMine。

对于分类属性,使用对应分析而不是 PCA。既然你标记了这个“熊猫”,这里是一个 python 包。