如何使用插入包构建模型时跟踪进度?

mpr*_*mpr 18 r r-caret

我正在尝试使用插入包中的列车功能来构建模型:

 model <- train(training$class ~ .,data=training, method = "nb")
Run Code Online (Sandbox Code Playgroud)

训练集包含大约20K的观测值,每个观测值都有100个以上的变量.我想知道从该数据集构建模型是否需要数小时或数天.

如何估算从数据中训练模型所需的时间?使用插入包中的功能时如何跟踪培训过程的进度?

JP_*_*her 30

假设你正在训练模型

  • 扩展的调整参数网格(调整参数的所有组合)
  • 和您选择的重采样技术(交叉验证,引导程序等)

你可以设置

trainctrl <- trainControl(verboseIter = TRUE)
Run Code Online (Sandbox Code Playgroud)

并将其设置在列车功能的trControl参数中以跟踪培训进度

model <- train(training$class ~ .,data=training, method = 'nb', trControl = trainctrl)
Run Code Online (Sandbox Code Playgroud)

这会在每个重新采样阶段打印出控制台的进度,并允许您衡量培训/参数调整的进度.

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

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

希望这可以帮助!:)