RandomForestClassifier vs ExtraTreesClassifier in scikit lernen

94

Kann jemand den Unterschied zwischen dem RandomForestClassifier und dem ExtraTreesClassifier in scikit lernen erklären. Ich habe viel Zeit damit verbracht, die Zeitung zu lesen:

P. Geurts, D. Ernst. Und L. Wehenkel, "Extrem randomisierte Bäume", Machine Learning, 63 (1), 3-42, 2006

Es scheint, dass dies der Unterschied für ET ist:

1) Bei der Auswahl von Variablen bei einer Aufteilung werden Stichproben aus dem gesamten Trainingssatz anstelle eines Bootstrap-Beispiels des Trainingssatzes gezogen.

2) Splits werden bei jedem Split vollständig zufällig aus dem Wertebereich in der Stichprobe ausgewählt.

Das Ergebnis dieser beiden Dinge sind viel mehr "Blätter".

denson
quelle
6
Der Grund, warum ich mich so für den extratreeclassifier interessiere, ist, dass ich mit ET bei einem bestimmten Problem viel bessere Ergebnisse erziele. Mein Merkmalsvektor ist groß> 200 Variablen und die Variablen sind sehr verrauscht. Der Standard-RDF-Klassifikator erzielt miese Ergebnisse, aber der ET erhält F1-Werte von> 90%. Die Klassen sind unausgeglichen mit relativ wenigen positiven Klassenstichproben und vielen negativen.
Derson
Siehe auch diese neuere Antwort: stats.stackexchange.com/questions/175523/…
Archie

Antworten:

56

Ja, beide Schlussfolgerungen sind richtig, obwohl die Random Forest-Implementierung in scikit-learn es ermöglicht, das Bootstrap-Resampling zu aktivieren oder zu deaktivieren.

In der Praxis sind RFs oft kompakter als ETs. ETs sind aus rechnerischer Sicht im Allgemeinen billiger zu trainieren, können jedoch viel größer werden. Irgendwann verallgemeinern besser als MDEs ETs kann , aber es ist schwer zu erraten , wenn es der Fall ist , ohne beide erste Versuch (und Tuning n_estimators, max_featuresund min_samples_splitdurch kreuzvalidierte Rastersuche).

Ogrisel
quelle
21

Der ExtraTrees-Klassifizierer testet immer zufällige Aufteilungen über einen Bruchteil von Features (im Gegensatz zu RandomForest, das alle möglichen Aufteilungen über einen Bruchteil von Features testet).

Muhammad Umar Amanat
quelle
13
Ich bin amüsiert, dass dieser Kommentar buchstäblich die Wort-für-Wort-Antwort auf eine Coursera-Quizfrage ist
Bob
Ja @ Bob ist es. Ich finde diese Antwort sehr nützlich, deshalb habe ich sie hier gepostet. Sie hilft anderen, den Unterschied zwischen einem zusätzlichen Baum und einem zufälligen Wald zu verstehen.
Muhammad Umar Amanat
3
kam auch aus dem gleichen Kurs. und diese Antwort war hilfreich!
Killezio
yes @ skeller88 das ist natürlich erstaunlich. Sie sollten sich auch diese coursera.org/learn/competitive-data-science?specialization=aml
Muhammad Umar Amanat
0

Der Hauptunterschied zwischen zufälligen Wäldern und zusätzlichen Bäumen (normalerweise als extreme zufällige Wälder bezeichnet) besteht darin, dass anstelle der Berechnung der lokal optimalen Kombination aus Merkmal und Teilung (für die zufällige Gesamtstruktur) für jedes betrachtete Merkmal ein zufälliger Wert ausgewählt wird für den Split (für die zusätzlichen Bäume). Hier ist eine gute Quelle, um mehr über ihren Unterschied im Detail zu erfahren. Zufälliger Wald gegen zusätzlichen Baum.

maria_g
quelle