【发布时间】:2021-10-28 16:50:20
【问题描述】:
在我需要分析的数据中,给出了字符和因子变量。我使用一种热编码将字符变量转换为因子,并将所有内容保存在一个新的数据框中。 为了进行主成分分析,我需要将一个热编码变量汇总为原始变量,但我不知道该怎么做。
例如:原始变量“beds”有 4 个唯一值 - “couch”、“real bed”、“airbed”、“futon”。通过一次热编码,这些值中的每一个都被分配给每个案例 1 或 0,因此新矩阵“beds”有 4 个新变量,它们曾经是变量“bed”的值。 this is how it looks after one hot encoding & scaling it 如何回到原始格式 like this one 执行 PCA?我的意思是 - 我如何对新变量进行分组以便 PCA 有意义?我在考虑子列like this,但我不知道这是否是正确的方法,也不知道该怎么做,因为如果我将新变量保存到这样的单独数据框中:
df_mw_neu_bed V1_Real Bed)
& 把它们放在一起,我就是从这里开始的,对于 PCA,我想使用“df_mw_neu_bed”和其他数据框,即房间类型(格式相同)
非常感谢您的帮助! :)
【问题讨论】:
-
你能解决你的问题吗?如果我理解正确的话,您想恢复由于 one-hot-encoding 而丢失的数据。
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
-
@MartinGal 我必须预先对 airbnb 数据集进行聚类并运行 PCA。为此,我必须通过一种热编码将字符变量转换为数字变量。但是,这会将值转换为新变量。为了执行逻辑上正确的 PCA,我需要将这些新变量汇总到旧变量中/以某种方式将它们分组到原始变量中。我在考虑子列,但我不确定如何去做。如果我不这样做,我会尝试用单人床和房间类型来描述数据集(参见上图中的数据集片段),这在逻辑上没有意义
标签: r datatable pca one-hot-encoding