如何使用caret包跟踪模型构建过程中的进度?

21

我正在尝试使用caret包中的train函数构建模型:

 model <- train(training$class ~ .,data=training, method = "nb")

训练集包含约20K个观测值,每个观测值具有超过100个变量。我想知道从该数据集构建模型是否需要数小时或数天。

如何估计从数据训练模型所需的时间?使用caret软件包中的函数时如何跟踪训练进度?

1个回答

40

假设您正在使用以下方法训练模型:

  • 扩展调参参数网格(所有调参参数的组合)
  • 以及您选择的重采样技术(交叉验证、自助法等)

您可以设置

trainctrl <- trainControl(verboseIter = TRUE)

并将其设置在train函数的trControl参数中,以跟踪训练进度。

model <- train(training$class ~ .,data=training, method = 'nb', trControl = trainctrl)

在每个重抽样阶段,此功能将进度打印到控制台上,让您可以衡量培训/参数调整的进度。

要估计总运行时间,您可以运行一次模型以查看其运行时间,并根据您的重抽样方案和参数组合数量进行相应的乘法估算总时间。这可以通过再次设置trainControl并将tuneLength设置为1来完成:

trainctrl <- trainControl(method = 'none')
model <- train(training$class ~ ., data = training, method = 'nb', trControl = trainctrl, tuneLength = 1)

希望这可以帮到你!:)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接