Im Vergleich zu anderen Modellen ist es weniger wahrscheinlich, dass zufällige Wälder überanpassen, aber es ist immer noch etwas, das Sie explizit vermeiden möchten. Das Optimieren von Modellparametern ist definitiv ein Element, um eine Überanpassung zu vermeiden, aber es ist nicht das einzige. Tatsächlich würde ich sagen, dass Ihre Trainingsfunktionen eher zu einer Überanpassung als zu Modellparametern führen, insbesondere bei zufälligen Wäldern. Ich denke, der Schlüssel ist wirklich eine zuverlässige Methode zur Bewertung Ihres Modells, um mehr als alles andere auf Überanpassung zu prüfen, was uns zu Ihrer zweiten Frage bringt.
Wie oben erwähnt, können Sie durch Ausführen einer Kreuzvalidierung eine Überanpassung vermeiden. Die Auswahl Ihres besten Modells basierend auf den CV-Ergebnissen führt zu einem Modell, das nicht überpasst, was bei einem Fehler aus der Tasche nicht unbedingt der Fall ist. Der einfachste Weg, CV in R auszuführen, ist mit dem caret
Paket. Ein einfaches Beispiel ist unten:
> library(caret)
>
> data(iris)
>
> tr <- trainControl(method = "cv", number = 5)
>
> train(Species ~ .,data=iris,method="rf",trControl= tr)
Random Forest
150 samples
4 predictor
3 classes: 'setosa', 'versicolor', 'virginica'
No pre-processing
Resampling: Cross-Validated (5 fold)
Summary of sample sizes: 120, 120, 120, 120, 120
Resampling results across tuning parameters:
mtry Accuracy Kappa Accuracy SD Kappa SD
2 0.96 0.94 0.04346135 0.06519202
3 0.96 0.94 0.04346135 0.06519202
4 0.96 0.94 0.04346135 0.06519202
Accuracy was used to select the optimal model using the largest value.
The final value used for the model was mtry = 2.