在 caret::train 中,有许多预处理选项可以通过 'preProcessing' 参数传递。这让生活变得超级简单,因为测试数据会在调用“predict.train”时以与训练数据相同的方式自动进行预处理。是否可以以某种方式对“findCorrelation”和“nearZeroVar”做同样的事情?
我从文档中清楚地理解了为什么以下代码不起作用,但我希望这能澄清我的问题。理想情况下,我可以执行以下操作。
library("caret")
set.seed (1234)
data (iris)
# split test vs training
train.index <- createDataPartition (y = iris[,5], p = 0.80, list = F)
train <- iris [ train.index, ]
test <- iris [-train.index, ]
# train the model after imputing the missing data
fit <- train (Species ~ .,
train,
preProcess = c("findCorrelation", "nearZeroVar"),
method = "rpart" )
predict (fit, test)