PCA 之前对不同数据类型进行归一化
Normalization before PCA on different data types
在 运行 主成分分析之前,您应该对数据进行归一化处理,以免结果出现偏差。在正常情况下,这是一个相当简单的任务。我很好奇我应该如何规范化我的数据,它在数据集中包含多种数据类型。我知道(坚信)的一些非常重要。其他人我不太确定,但这就是为什么我想在我的数据集上 运行 PCA。
0 1 2 3 4 ...
0.112 'Bob' 68.47 'Right' 9493 ...
像这样,其中可能有一个没有分类支持的字符串,例如名称。而 'Right' 可以枚举到一个类别。
我什至不确定这是否必要,但我会很感激一些建议。
首先,在对没有固有顺序的变量进行 运行 PCA 时,您应该非常小心。比如分类数据。
其次,想一想将 PCA 应用于名称之类的事物甚至意味着什么。 PCA 适用于具有方向的长度的向量。鲍勃的长度是多少,它指向哪个方向?
您可以尝试的一件事是将字符串数据转换为 N-Grams,这将是完美的向量。另一件要尝试的事情是应用 TF-IDF 转换,这同样会为您提供一个向量。
应用其中一种转化后。您遇到了将向量嵌入向量中的问题。您可以尝试通过连接和规范化将它们组合成一个向量。或者你可以放弃 PCA 并将你的数据集视为张量的集合并应用类似 multilinear component analysis 的东西,它是 PCA 对张量的扩展。
请注意,这些方法中的任何一个都需要产生巨大的向量,因此您需要有大量的数据实例才能从您的分析中获得任何有意义的信息。
在 运行 主成分分析之前,您应该对数据进行归一化处理,以免结果出现偏差。在正常情况下,这是一个相当简单的任务。我很好奇我应该如何规范化我的数据,它在数据集中包含多种数据类型。我知道(坚信)的一些非常重要。其他人我不太确定,但这就是为什么我想在我的数据集上 运行 PCA。
0 1 2 3 4 ...
0.112 'Bob' 68.47 'Right' 9493 ...
像这样,其中可能有一个没有分类支持的字符串,例如名称。而 'Right' 可以枚举到一个类别。
我什至不确定这是否必要,但我会很感激一些建议。
首先,在对没有固有顺序的变量进行 运行 PCA 时,您应该非常小心。比如分类数据。
其次,想一想将 PCA 应用于名称之类的事物甚至意味着什么。 PCA 适用于具有方向的长度的向量。鲍勃的长度是多少,它指向哪个方向?
您可以尝试的一件事是将字符串数据转换为 N-Grams,这将是完美的向量。另一件要尝试的事情是应用 TF-IDF 转换,这同样会为您提供一个向量。
应用其中一种转化后。您遇到了将向量嵌入向量中的问题。您可以尝试通过连接和规范化将它们组合成一个向量。或者你可以放弃 PCA 并将你的数据集视为张量的集合并应用类似 multilinear component analysis 的东西,它是 PCA 对张量的扩展。
请注意,这些方法中的任何一个都需要产生巨大的向量,因此您需要有大量的数据实例才能从您的分析中获得任何有意义的信息。