Как отслеживать прогресс при построении модели с помощью пакета caret?

Я пытаюсь построить модель, используя функцию поездом из пакета каретки:

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

учебный набор содержит около 20K наблюдений, каждое наблюдение имеет более 100 переменных. Я хотел бы знать, займет ли построение модели из этого набора данных несколько часов или дней.

Как оценить время, необходимое для обучения модели из данных? Как отслеживать ход процесса обучения при использовании функций из пакета caret?

1 ответов


предполагая, что вы тренируете модель с

  • расширенная сетка параметров настройки (все комбинации параметров настройки)
  • и метод пересчета по вашему выбору (перекрестная проверка, bootstrap и т. д.)

вы можете установить

trainctrl <- trainControl(verboseIter = TRUE)

и установите его в аргументе trControl функции train для отслеживания прогресса обучения

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)

надеюсь, что это помогает! :)