Was sind einige nützliche Richtlinien für GBM-Parameter?


31

Was sind einige nützliche Richtlinien zum Testen von Parametern (z. B. Interaktionstiefe, Kind, Abtastrate usw.) mit GBM?

Nehmen wir an, ich habe 70-100 Features, eine Bevölkerung von 200.000 und ich beabsichtige, die Interaktionstiefe von 3 und 4 zu testen. Natürlich muss ich einige Tests durchführen, um zu sehen, welche Parameterkombination außerhalb der Stichprobe am besten funktioniert. Anregungen zur Vorgehensweise bei diesem Testdesign?

Antworten:


34

Mit dem Caret-Paket können Sie die Parameterauswahl für Ihr Problem optimieren. Die caretTrain-Vignette zeigt, wie Sie die gbm-Parameter mithilfe der 10-fach wiederholten Kreuzvalidierung optimieren können. Weitere Optimierungsansätze stehen zur Verfügung, die alle mithilfe des foreach-Pakets parallel ausgeführt werden können. Verwenden Sie vignette("caretTrain", package="caret")das Dokument zu lesen.

Das Paket unterstützt Tuning shrinkage, n.treesund interaction.depthParameter für das GBM - Modell, wenn Sie Ihre eigenen hinzufügen.

Für die Heuristik ist dies mein erster Ansatz:

shrinkage: So klein wie du Zeit dafür hast (das gbm-Handbuch hat mehr dazu, aber im Allgemeinen kannst du mit einem kleineren Wert nichts falsch machen). Ihr Datensatz ist klein, also würde ich wahrscheinlich mit 1e-3 beginnen

n.trees: Normalerweise züchte ich ein erstes Modell, indem ich immer mehr Bäume hinzufüge, bis gbm.perfich genug habe (normalerweise bis zum 1,2-fachen dieses Wertes), und verwende das dann als Richtlinie für die weitere Analyse.

interaction.depth: du hast schon eine idee dazu. Versuchen Sie es auch mit kleineren Werten. Maximalwert ist Floor (sqrt (NCOL (Daten)).

n.minobsinnode: Ich finde es wirklich wichtig, diese Variable zu stimmen. Sie möchten nicht, dass der Algorithmus zu viele falsche Merkmale findet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.