在PCA上对不同数据类型进行规范化

时间:2019-03-18 14:07:18

标签: python pca

在运行主成分分析之前,您应标准化数据以确保结果不偏斜。在正常情况下,这是一个相当简单的任务。我很好奇我应该如何规范我的数据,该数据在数据集中包含多种数据类型。我知道的一些(非常相信)非常重要。其他人我不确定,但这就是为什么我要在数据集上运行PCA。

    0       1       2       3       4    ...
  0.112   'Bob'   68.47   'Right'  9493  ...

类似这样的情况,其中可能存在没有分类支持的字符串,例如名称。而“权利”可以列举为一个类别。

我不确定这是否有必要,但我会建议您。

1 个答案:

答案 0 :(得分:3)

首先,在没有固有顺序的变量上运行PCA时应格外小心。如分类数据。

第二,考虑将PCA应用于名称之类的含义。 PCA处理具有方向的长度的向量。鲍勃的长度是多少,它将指向哪个方向?

您可以尝试的一件事是将字符串数据转换为N-Grams,这将是完美的向量。可以尝试的另一件事是应用TF-IDF转换,这将再次为您提供向量。

一旦您应用了其中一种转化。您遇到了将向量嵌入向量中的问题。您可以尝试通过级联和归一化将它们组合成一个向量。或者,您可以放弃PCA,将数据集视为张量集合,然后应用multilinear component analysis之类的东西,它是PCA对张量的扩展。

请注意,这些方法中的任何一个都会产生巨大的向量,因此您需要拥有大量数据实例才能从分析中获取有意义的信息。