Когда я не указываю количество ntree
в модели каретки «rf», мне трудно определить, сколько деревьев было использовано в модели.
Вот код, который я использую для обучения моей модели:
fitControl <- trainControl(
method = "cv",
number = 3,
savePredictions = "final",
classProbs = T,
summaryFunction = twoClassSummary,
sampling = "down")
set.seed(3219)
rf_model_down <- train(Class ~ .,
data = train_data,
method ='rf',
tuneLength = 2,
trControl = fitControl,
metric = "ROC")
используя функцию print(rf_model_down)
, я могу увидеть, что было mtry
, но она не сообщает нам использованный счет ntree
.
print(rf_model_down)
# Random Forest
#
# 10000 samples
# 94 predictor
# 2 classes: 'Fraud', 'notFraud'
#
# No pre-processing
# Resampling: Cross-Validated (3 fold)
# Summary of sample sizes: 6667, 6666, 6667
# Addtional sampling using down-sampling
#
# Resampling results across tuning parameters:
#
# mtry ROC Sens Spec
# 2 0.7401603 0.7691257 0.5717070
# 94 0.7449104 0.6814208 0.6641911
#
# ROC was used to select the optimal model using the largest value.
# The final value used for the model was mtry = 94.
Заранее спасибо за то, что, скорее всего, является простым ответом, который мне трудно найти...
Проверка str(rf_model_down)
показывает, что мы можем использовать
rf_model_down$finalModel$ntree
А если
caret
используетrandomForest
— см.rf_model_down$modelInfo$library
— по умолчанию ntree = 500.