Setzen von Werten für ntree und mtry für das Random-Forest-Regressionsmodell
Ich bin mit R-Paket randomForest
zu tun, die eine regression auf einige biologische Daten. Meine Trainingsdaten Größe ist 38772 X 201
.
Ich fragte mich nur---was wäre ein guter Wert für die Anzahl der Bäume ntree
und die Anzahl der Variablen pro level mtry
? Gibt es eine Ungefähre Formel zu finden, wie die parameter-Werte?
Jede Zeile in mein input-Daten wird eine 200-Zeichen dar, das die Aminosäure-Sequenz, und ich aufbauen wollen, ein Regressionsmodell zu verwenden, solche Sequenz, um vorherzusagen, die Entfernungen zwischen den Proteinen.
InformationsquelleAutor der Frage DOSMarter | 2012-12-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Standard für mtry ist durchaus sinnvoll, so gibt es nicht wirklich eine Notwendigkeit zu mucken mit. Gibt es eine Funktion
tuneRF
für die Optimierung dieser parameter. Beachten Sie jedoch, dass es möglicherweise bias.Gibt es keine Optimierung für die Anzahl der bootstrap-Wiederholungen. Fange ich oft mit
ntree=501
dann ergibt sich der random forest-Objekt. Dies wird Ihnen zeigen, die Fehler der Konvergenz basierend auf der OOB-Fehler. Sie wollen genug Bäume stabilisieren den Fehler aber nicht so viele, dass Sie über eine Korrelation zwischen den Ensembles, das führt zum overfit.Hier ist die Warnung: variable Wechselwirkungen stabilisieren bei einer langsameren rate als Fehler, so, wenn Sie eine große Anzahl von unabhängigen Variablen, die Sie brauchen mehr Wiederholungen. Ich würde immer die ntree eine ungerade Zahl, so dass Bindungen gebrochen werden können.
Für die Dimensionen des problem würde ich anfangen
ntree=1501
. Ich würde auch empfehlen mit Blick auf eine der veröffentlichten variable Auswahl der Ansätze zur Verringerung der Zahl der unabhängigen Variablen.InformationsquelleAutor der Antwort Jeffrey Evans
Die kurze Antwort ist Nein.
Den
randomForest
Funktion natürlich hat default-Werte für beidentree
undmtry
. Die Standardeinstellung fürmtry
ist oft (aber nicht immer) sinnvoll, während in der Regel die Menschen wollen die Steigerungntree
von der default von 500 ziemlich wenig.Den "richtigen" Wert für
ntree
im Allgemeinen nicht viel von einer Besorgnis, so es ziemlich offensichtlich, mit ein wenig basteln, dass die Vorhersagen aus dem Modell nicht viel ändern, nach einer bestimmten Anzahl von Bäumen.Können Sie verbringen (sprich: Abfall) eine Menge Zeit, basteln mit Dingen wie
mtry
(undsampsize
undmaxnodes
undnodesize
etc.), wohl einige Vorteile, aber nach meiner Erfahrung nicht viel. Aber jedem Datensatz anders sein wird. Manchmal sehen Sie möglicherweise einen großen Unterschied, manchmal gar keine.Den caret Paket hat eine sehr Allgemeine Funktion
train
das können Sie tun, um ein einfaches grid-search über den parameter Werte wiemtry
für eine Vielzahl von Modellen. Meine einzige Vorsicht wäre, dass dies mit ziemlich großen Datensätzen ist wahrscheinlich etwas zeitaufwendig, relativ schnell, also aufpassen.Auch, irgendwie habe ich vergessen, dass die ranfomForest Paket selbst hat eine
tuneRF
- Funktion, die speziell für die Suche nach der "optimalen" Wert fürmtry
.InformationsquelleAutor der Antwort joran
Könnte dieses Papier helfen ?
Die Begrenzung der Anzahl der Bäume im Random Forests
Sie nie mehr als 200 Bäume.
InformationsquelleAutor der Antwort bastaPasta
Ich folgenden code verwenden, um zu überprüfen für die Richtigkeit, wie ich spielen, um mit ntree und mtry (ändern der Parameter):
InformationsquelleAutor der Antwort Hillary Murefu
Gibt es einen schönen trick, den ich verwenden ist, um zunächst starten Sie mit der ersten Einnahme Quadratwurzel der Anzahl der Prädiktoren und der Stecker, der Wert für "mtry". Es ist in der Regel um den gleichen Wert, tunerf funtion in random forest wählen Sie würde.
InformationsquelleAutor der Antwort KHAN irfan