1

在 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)
4

1 回答 1

1

现在,你被束缚在任何preProcess会做的事情上。

但是,下一个版本(我希望在今年年初左右)将允许您更轻松地编写自定义模型和预处理。例如,您可能想要对数据进行下采样等。

当我们有可用的测试版时,请告诉我您是否想测试该版本。

最大限度

于 2013-11-20T18:10:33.493 回答