我有一个带有一些虚拟变量[0]的训练集,我不想 preProc=c("center","scale")
它们,但我想 preProc=c("center","scale")
所有非虚拟变量,以便像这里标准化它们[1] . 因此,中心和比例选项的作用如下:
-
center:从值中减去均值 .
-
scale:按标准差除以值 .
使用所有非虚拟变量创建一个数组,计算每个变量的平均值和SD,居中并缩放所有值,然后将该数组与另一个包含所有虚拟变量的数组连接起来,产生 new_array
数组和然后像这样训练模型?或者这不起作用?
ctrl <- trainControl(method = "repeatedcv", number=10, repeats=3)
knn_model <- train (Class ~ ., data=new_array, method="knn", trControl=ctrl)
Note :我已经在CrossValidated中提出了这个问题,但由于它也与StackOverflow有关,我在这里再问一次 .
[0] https://topepo.github.io/caret/pre-processing.html#dummy
1 回答
你可以这样做,把一切都放在插入符号中
假设您有一个名为
DF
的data.frame,其中1:5的列是数字,6:10是阶乘 . 您可以执行以下操作:最后: