Mir ist klar, dass das Boosting-Tree-Modell 3 Tuning-Parameter enthält, d. H.
- die Anzahl der Bäume (Anzahl der Iterationen)
- Schrumpfungsparameter
- Anzahl der Teilungen (Größe der einzelnen Bäume)
Meine Frage ist: Wie soll ich für jeden der Abstimmungsparameter den optimalen Wert finden? Und welche Methode?
Beachten Sie Folgendes: Der Parameter für die Schrumpfung und der Parameter für die Anzahl der Bäume arbeiten zusammen, dh ein kleinerer Wert für den Parameter für die Schrumpfung führt zu einem höheren Wert für die Anzahl der Bäume. Und das müssen wir auch berücksichtigen.
Ich interessiere mich besonders für die Methode, um den optimalen Wert für die Anzahl der Teilungen zu finden. Sollte es auf Kreuzvalidierung oder Domänenwissen über das dahinter stehende Modell basieren?
Und wie werden diese Dinge im gbm
Paket in R ausgeführt?
quelle
Es gibt zwei gute Quellen für die verstärkten Regressionsbäume und das GBM-Paket. Zur Erklärung der BRT und zur Optimierung der Anzahl der Bäume (
nt
), der Lernrate (lr
) und der Baumkomplexität (tc
) siehe Ein Arbeitsleitfaden zur Steigerung der Regressionsbäume. Obwohl er sich auf die Ökologie konzentriert, werden Sie meiner Meinung nach keine bessere Einführung in die BRT finden .Informationen zur Implementierung von BRT im gbm-Paket finden Sie unter Boosted Regression Trees zur ökologischen Modellierung
Kurz gesagt, eine Faustregel lautet, eine Lernrate auszuwählen, mit der das BRT-Modell mindestens 1000 Bäume aufnehmen kann. Daher benötigen Sie wahrscheinlich eine niedrige Lernrate, möglicherweise 0,001, um dies zu erreichen. Dies hängt jedoch von der Größe Ihrer Daten ab (siehe Abb. 2 und 3 in der Arbeitsanleitung zu BRT. Ich denke, ein möglicher Weg wäre, verschiedene Modelle in BRT entsprechend Ihrer Datengröße einzurichten, zum Beispiel verschiedene lr (0,1, 0,01, 0,001), tc (1, 3, 5, 7, 9, 20) mit verschiedenen Beuteln zu kombinieren .fraktionen (0,5, 0,7, 0,9) und wählen Sie die beste nach der niedrigsten Abweichung oder der höchsten ROC-Punktzahl. Vielleicht hat es geholfen.
quelle
BRT_MODEL$self.statistics$correlation[[1]]
dient die Korrelation von Tests mit Trainingsdaten, was eine gute Testmetrik ist.