【发布时间】:2016-04-24 12:57:58
【问题描述】:
我想在caret查看训练进度。我已经设置了以下
fitControl <- trainControl(
method = "repeatedcv",
number = t.folds,
repeats = t.repeats,
seeds = seeds,
returnData = FALSE,
verboseIter = TRUE
)
caret.trainmodel <- function(method, workers=2, ...) {
# prepare parallel processing
cl <- makeCluster(workers)
registerDoParallel(cl)
# start training
set.seed(825)
cat(paste("\n",method, "Training start \n"))
pt <- proc.time()
trained.model <- train(count.bins ~ ., data = training,
method = method,
trControl = fitControl,
verbose = TRUE,
...
)
cat(paste("Done", proc.time()-pt, "\n"))
# release worker
stopCluster(cl)
return(trained.model)
}
我称上面为例如caret.trainmodel("rpart") 并期待看到进展,例如它现在在哪个折叠/重复上。但是尽管verboseIter=TRUE 在控件中,verbose=TRUE 在train 调用中,但屏幕上没有显示任何内容。还有什么需要设置的吗?
【问题讨论】:
-
据我所知,
train函数中的verbose = TRUE没有做任何事情,因为这不是train的显式参数,也不是rpart函数的显式参数。不并行运行时是否得到预期的打印材料? -
是的,它在不并行时打印。