预处理时的序数变量和插入符
ordinal variables and caret when preprocessing
我发现 Max Kuhn 博士撰写的 APM 书中的许多示例倾向于涵盖具有连续变量作为预测变量集的数据集。如果使用具有序数因子的数据集,将这些变量转换为虚拟变量并丢失变量的自然顺序是否有意义?我的问题是出于对数据集进行预处理(即居中、缩放)的需要。我想知道其他人如何在 R 中处理这个问题?
如果因子具有 class 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"
最大
我发现 Max Kuhn 博士撰写的 APM 书中的许多示例倾向于涵盖具有连续变量作为预测变量集的数据集。如果使用具有序数因子的数据集,将这些变量转换为虚拟变量并丢失变量的自然顺序是否有意义?我的问题是出于对数据集进行预处理(即居中、缩放)的需要。我想知道其他人如何在 R 中处理这个问题?
如果因子具有 class 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"
最大