预处理时的序数变量和插入符号

时间:2015-01-14 21:48:32

标签: r r-caret

我发现Max Kuhn博士的APM书中的许多例子都倾向于涵盖具有连续变量作为预测集的数据集。如果使用具有序数因子的数据集,将这些变量转换为虚拟变量并失去变量的自然顺序是否有意义?我的问题是需要对数据集进行预处理(即中心,缩放)。我想知道其他人如何在R中解决这个问题?

1 个答案:

答案 0 :(得分:3)

如果因子具有类ordered,它将产生支持某种多项式级别的线性组合。请参阅The Basics of Encoding Categorical Data for Predictive Models?ordered。例如:

> pred2 <- ordered(letters[1:5])
> model.matrix(~pred2)

  (Intercept) pred2.L pred2.Q    pred2.C pred2^4
1           1 -0.6325  0.5345 -3.162e-01  0.1195
2           1 -0.3162 -0.2673  6.325e-01 -0.4781
3           1  0.0000 -0.5345 -4.096e-16  0.7171
4           1  0.3162 -0.2673 -6.325e-01 -0.4781
5           1  0.6325  0.5345  3.162e-01  0.1195
attr(,"assign")
[1] 0 1 1 1 1
attr(,"contrasts")
attr(,"contrasts")$pred2
[1] "contr.poly"

最高