Запустите randomForest с помощью mtry - PullRequest
0 голосов
/ 07 июля 2019

Я получил такую ​​ошибку при изучении randomforest.

library(caret)
library(randomForest)
rf_model_housing <-train(SalePrice ~., # Standard formula notation
data=train_housing[,-1],
method="rf",
nodesize= 10,
mtry= 5,            
ntree = 500,
trControl=trainControl(method="repeatedcv", number=2,repeats=1),
tuneGrid = expand.grid(mtry = c(123)))

Ошибка: остановка Дополнительно: Предупреждающие сообщения: 1: ошибка подбора модели для Fold1.Rep1: mtry = 123 Ошибка в randomForest.default (x, y, mtry = param $ mtry,...): формальный аргумент "mtry" соответствует нескольким фактическим аргументам 2: ошибка подбора модели для Fold2.Rep1: mtry = 123 Ошибка в randomForest.default (x, y, mtry = param $ mtry, ...): формальныйаргумент «mtry» соответствует нескольким фактическим аргументам 3: в nominalTrainWorkflow (x = x, y = y, wts = weights, info = trainInfo,: в пересчитанных показателях производительности отсутствовали значения.

1 Ответ

0 голосов
/ 07 июля 2019

Из документации randomForest для каретки здесь вы используете слишком много параметров настройки, и их необходимо поместить в сетку data.frame (см. здесь для одного примера ),Кроме того, вы определили 2 раза mtry, количество предикторов, используемых для разделения.Я предлагаю попробовать что-то вроде:

rf_control <- trainControl(method="repeatedcv", number=5, repeats=5)

rf_grid <-  expand.grid(mtry = c(floor(sqrt(ncol(x)) / 10),
                        floor(sqrt(ncol(x)) / 5),
                        floor(sqrt(ncol(x)))
)

set.seed(123)
rf_fit <- train(SalePrice ~., 
                 data = train_housing[,-1], 
                 method = "rf", 
                 trControl = rf_control,
                 tuneGrid = rf_grid)
rf_fit
...