Идентичные результаты от случайной настройки гиперпараметра леса в R - PullRequest
0 голосов
/ 11 июня 2019

Я пробую гиперпараметрическую настройку randomforest в R с помощью библиотеки (RandomForest).Почему я получаю одинаковые результаты для разных значений гиперпараметра, то есть maxnodes?

Я использую набор данных Titanic, полученный от Kaggle.Я применил поиск по сетке только по гиперпараметру «mtry», и результаты дали мне разные значения точности и каппы для каждого «mtry».

Однако, когда я попытался найти лучшее значение «maxnode», всеиз них возвращают одинаковое значение точности и каппы.

Это для настройки 'mtry'

library(randomForest)
control <- trainControl(
  method = "cv", 
  number = 10,
  search = "grid"
)

tuneGrid <- expand.grid(.mtry = c(1:10))
rf_mtry <- train(train_X,
                 train_Y,
                 method = "rf",
                 metric = "Accuracy",
                 tuneGrid = tuneGrid,
                 trControl = control,
                 importance = TRUE,
                 nodesize = 14,
                 ntree = 300
                 )

Это для настройки 'maxnodes'

mtry_best <- rf_mtry$bestTune$mtry

store_maxnode <- list()
tuneGrid <- expand.grid(.mtry = mtry_best)
for (maxnodes in c(2:20)) {
  set.seed(1234)
  rf_maxnode <- train(train_X,
                      train_Y,
                      method = "rf",
                      metric = "Accuracy",
                      tuneGrid = tuneGrid,
                      trControl = control,
                      importance = TRUE,
                      nodesize = 5,
                      maxnodes = maxnodes,
                      ntree = 300
                      )
  current_iteration <- toString(maxnodes)
  store_maxnode[[current_iteration]] <- rf_maxnode
}
results_mtry <- resamples(store_maxnode)
summary(results_mtry)

IОжидается увидеть разные значения Accuracy и Kappa для разных maxnode, но они будут идентичны.

...