【发布时间】:2018-07-16 21:29:27
【问题描述】:
我正在处理一个预测问题,我正在 R 中构建一个决策树,我有几个分类变量,我想在我的训练和测试集中一致地对它们进行一次热编码。 我设法在我的训练数据上做到了:
temps <- X_train
tt <- subset(temps, select = -output)
oh <- data.frame(model.matrix(~ . -1, tt), CLASS = temps$output)
但是我找不到在我的测试集上应用相同编码的方法,我该怎么做?
【问题讨论】:
-
编码是指创建虚拟变量吗?
-
用同样的方法。有什么不同?
-
是的,我的意思是创建虚拟变量:对于每个分类变量,我需要创建尽可能多的虚拟变量,因为变量中有不同的类别。
-
@Gregor 不同的是,某些类别可能存在于测试集中而不是训练中,而且假人的顺序也很重要,而且这两组不同跨度>
-
@xeco 我建议你在 R 中寻找 vtreat 包
标签: r one-hot-encoding