L'implémentation randomForest ne permet pas l'échantillonnage au-delà du nombre d'observations, même lors d'un échantillonnage avec remplacement. Pourquoi est-ce?
Fonctionne bien:
rf <- randomForest(Species ~ ., iris, sampsize=c(1, 1, 1), replace=TRUE)
rf <- randomForest(Species ~ ., iris, sampsize=3, replace=TRUE)
Ce que je veux faire:
rf <- randomForest(Species ~ ., iris, sampsize=c(51, 1, 1), replace=TRUE)
Error in randomForest.default(m, y, ...) :
sampsize can not be larger than class frequency
Erreur similaire sans échantillon stratifié:
rf <- randomForest(Species ~ ., iris, sampsize=151, replace=TRUE)
Error in randomForest.default(m, y, ...) : sampsize too large
Étant donné que je m'attendais à ce que la méthode prenne des échantillons de bootstrap lorsque replace = TRUE est donné dans les deux cas, je ne m'attendais pas à cette limite.
Mon objectif est de l'utiliser avec l'option d'échantillonnage stratifié, afin de prélever un échantillon suffisamment important dans une classe relativement rare.