Erfordert die Modellierung mit zufälligen Wäldern eine Kreuzvalidierung?

10

Soweit ich gesehen habe, neigen die Meinungen dazu dazu. Best Practice würde sicherlich die Verwendung einer Kreuzvalidierung vorschreiben (insbesondere beim Vergleich von RFs mit anderen Algorithmen im selben Datensatz). Andererseits gibt die ursprüngliche Quelle an, dass die Tatsache, dass der OOB-Fehler während des Modelltrainings berechnet wird, ein ausreichender Indikator für die Leistung des Testsatzes ist. Sogar Trevor Hastie sagt in einem relativ aktuellen Gespräch, dass "Random Forests eine kostenlose Kreuzvalidierung bieten". Intuitiv ist dies für mich sinnvoll, wenn Sie ein RF-basiertes Modell an einem Datensatz trainieren und verbessern möchten.

Wie ist Ihre Meinung dazu?

Neuron
quelle
3
Dies spricht nicht den Hauptpunkt der Frage an - aber Sie möchten wahrscheinlich trotzdem sekundäre Parameter (wie die Tiefe der Bäume usw.)
kreuzvalidieren
Sie können RF verwenden oder es in Bezug auf die Leistung des Trainingssatzes mit anderen Ansätzen vergleichen oder unabhängige / Teilmengen von Daten verwenden, um die Leistung zu testen. Es ist eine Frage Ihrer Hypothese: Versuchen Sie, die Ergebnisse auf eine größere Population zu verallgemeinern oder nur die vorliegenden Daten zu klassifizieren, anstatt eine Eigenschaft von RF.
Katya

Antworten:

3

Der OOB-Fehler wird berechnet, indem für jede Beobachtung nur die Bäume verwendet werden, die diese bestimmte Beobachtung nicht in ihrem Bootstrap-Beispiel hatten. siehe diese verwandte Frage . Dies entspricht in etwa einer zweifachen Kreuzvalidierung, da die Wahrscheinlichkeit, dass sich eine bestimmte Beobachtung in einer bestimmten Bootstrap-Stichprobe befindet, beträgt .1(11N)N1e10.6

Wie @Wouter hervorhebt, möchten Sie wahrscheinlich eine Kreuzvalidierung für die Parameteroptimierung durchführen, aber als Schätzung des Testsatzfehlers sollte der OOB-Fehler in Ordnung sein.

einar
quelle