Я хотел бы использовать 20 ядер ЦП, которые у меня под рукой, для обучения случайных лесов в R. Мой обычный код с использованием пакета randomForest будет таким:
rf = randomForest(Pred~., train, ntree=100, importance=TRUE)
rf
Поэтому я тренирую лес с100 деревьев, использующих коэффициент Pred
с 11 уровнями и фрейм данных train
с 74 числовыми характеристиками и ~ 84k наблюдений.
Идея состояла в том, чтобы ускорить это с помощью каретки с моим кодом (полученный из этого пример ):
cluster <- makeCluster(19)
registerDoParallel(cluster)
trainctrl <- trainControl(method="none", number=1, allowParallel=TRUE)
fit <- train(Driver~., train, method="parRF", trControl=trainctrl, ntree=100)
stopCluster(cluster)
registerDoSEQ()
fit
Я заменил method=cv
из примера на method=none
, поскольку я хочу тренироваться на всем тренировочном наборе (см. документация ),Однако я не получаю точность от fit
, fit$results
пусто.Если я установлю method=oob
, то будет выполнена оптимизация mtry
, что также даст мне точность.
Есть ли способ просто запустить первый фрагмент кода параллельно с использованием каретки без какой-либо оптимизации гиперпараметров?