Я тренирую модель с использованием rf
из пакета caret
с использованием R (и Rstudio). Набор данных обучения представляет собой кадр данных с 76 тыс. Строк и 291 колос. Мой код выглядит следующим образом:Extreme long runtime для «rf» с использованием пакета Caret в R
library(caret)
myTrControl <- trainControl(method = "repeatedcv",
number = 5,
repeats = 3,
p = 0.75,
classProbs = TRUE,
summaryFunction = twoClassSummary)
set.seed(64)
myRF <- train(x = myTrain[ , -c(1, 291)],
y = myTrain$TARGET,
data = myTrain,
method = "rf",
metric = "ROC",
maximize = TRUE,
trControl = myTrControl)
Он работает 24 часа. Есть ли способ оценить, сколько времени это займет?
Я прочитал документацию caret
и, вероятно, должен был установить verboseIter = TRUE
в trainControl
, чтобы получить информацию о том, что происходит во время вычисления. Я думаю, что нет «расчетного» способа запросить информацию о прогрессе, не так ли?
И третий вопрос: есть ли какие-либо другие параметры в пределах trainControl
и train
, которые я должен регулярно использовать для получения информации о расчете во время ее выполнения?
Спасибо!
Sessioninfo() был бы более полезен для различения проблемы. Ваш набор функций очень велик, и вы можете захотеть сделать некоторые [выбор функций] (http://www.r-bloggers.com/feature-selection-using-the-caret-package/). Если вы запущены со всеми этими функциями, попробуйте [rfcv function] (http://www.inside-r.org/packages/cran/randomforest/docs/rfcv) в случайных лесах. Хотя, я все еще верю, что это займет некоторое время без выбора функции. Cheers, Cody –
Спасибо, Коди. Я использовал функцию выбора, чтобы перейти к этому числу, но это правда, я все же мог применить 'rfcv' из пакета randomForest для выбора функции. – YamiOmar