Was ist ein Random Forest?
Ein Random Forest ist ein überwachter Algorithmus für maschinelles Lernen. Aufgrund seiner Genauigkeit, Einfachheit und Flexibilität ist er einer der am häufigsten verwendeten Algorithmen. Dieser lineare Algorithmus kann für Klassifizierungs- und Regressionsaufgaben verwendet und leicht an eine Reihe von Daten und Situationen angepasst werden.
Der Begriff „Random Decision Forest“ wurde erstmals 1995 von Tin Kam Ho verwendet. Ho entwickelte eine Formel, mit der er Vorhersagen aus Zufallsdaten erstellen konnte. 2006 erweiterten Leo Breiman und Adele Cutler den Algorithmus und entwickelten die Random Forests, die wir heute kennen. Diese Technologie, die Mathematik und die Wissenschaft dahinter sind also noch relativ neu.
Er wird als „Forest“ bezeichnet, weil er einen Wald von Entscheidungsbäumen bildet. Die Daten aus diesen Bäumen werden dann zusammengeführt, um die genauesten Vorhersagen zu gewährleisten. Ein einzelner Entscheidungsbaum hat ein Ergebnis und einen engen Gruppenbereich, der „Wald“ hingegen gewährleistet ein genaueres Ergebnis mit einer größeren Anzahl von Gruppen und Entscheidungen. Er hat den zusätzlichen Vorteil, dass dem Modell Zufälligkeit hinzugefügt wird, indem das beste Merkmal aus einer zufälligen Teilmenge von Merkmalen gefunden wird. Insgesamt schaffen diese Vorteile ein Modell mit großer Vielfalt, das viele Data Scientists bevorzugen.
Was ist ein Entscheidungsbaum?
Ein Entscheidungsbaum ist etwas, das Sie wahrscheinlich jeden Tag in Ihrem Leben verwenden. Wenn Sie Ihre Freunde um Empfehlungen für das zu kaufende Sofa bitten, legen Sie das Fundament eines Entscheidungsbaums. Ihre Freunde werden Sie fragen, was Ihnen wichtig ist. Größe? Farbe? Stoff oder Leder? Anhand dieser Entscheidungen können Sie das perfekte Sofa auswählen. Ein Entscheidungsbaum stellt im Grunde eine Reihe mit „richtig“ oder „falsch“ zu beantwortende Fragen, die zu einer bestimmten Antwort führen.
Jeder „Test“ (Leder oder Stoff?) wird als Knoten bezeichnet. Jeder Zweig steht für das Ergebnis dieser Wahl (Stoff). Jeder Blattknoten ist eine Kennzeichnung dieser Entscheidung. Offensichtlich werden in realen Szenarien die Beobachtungen so aufgeteilt, dass sich ganze Gruppen voneinander unterscheiden. Das führt zu Untergruppen, die einander ähnlich sind, sich aber von den anderen Gruppen unterscheiden.
Der Unterschied zwischen Entscheidungsbäumen und Random Forests
Ein Random Forest ist eine Gruppe von Entscheidungsbäumen. Es gibt jedoch einige Unterschiede zwischen den beiden. Ein Entscheidungsbaum erstellt üblicherweise Regeln, mit denen er Entscheidungen trifft. Ein Random Forest wählt zufällig Funktionen aus und macht Beobachtungen, erstellt einen Wald von Entscheidungsbäumen und berechnet dann den Durchschnitt der Ergebnisse.
Die Theorie besagt, dass eine große Anzahl unkorrelierter Bäume genauere Vorhersagen liefert als ein einzelner Entscheidungsbaum. Das liegt daran, dass die Menge der Bäume zusammenarbeitet, um sich gegenseitig vor individuellen Fehlern und Überanpassungen zu schützen.
Damit ein Random Forest eine gute Leistung erbringt, benötigt er drei Dinge:
- ein identifizierbares Signal, damit Modelle nicht nur raten
- eine geringe Korrelation der von den Bäumen gemachten Vorhersagen mit den Prognosen anderer Bäume
- Funktionen mit einer gewissen Vorhersagekraft: GI=GO

Wie wird ein Random-Forest-Algorithmus im Geschäftsleben verwendet?
In Geschäftsumgebungen gibt es viele Anwendungen für einen Random Forest. Beispielsweise könnte ein einziger Entscheidungsbaum einen Datensatz für Wein klassifizieren und verschiedene Weine in leichte oder schwere Weine aufteilen.
Der Random Forest erzeugt viele Bäume, wodurch die Vorhersagen der Endergebnisse weitaus ausgefeilter werden. Er kann die Weine nehmen und mehrere Bäume haben, wobei Preise, Tannine, Säuregehalt, Alkoholgehalt, Zucker, Verfügbarkeit und eine ganze Reihe anderer Merkmale verglichen werden. Durch den Durchschnitt der Ergebnisse können dann anhand einer Vielzahl von Kriterien Vorhersagen über die (wohl) besten Weine insgesamt getroffen werden.
In einem Unternehmen könnte ein Random-Forest-Algorithmus in einem Szenario verwendet werden, in dem es eine Reihe von Eingabedaten und eine komplexe Reihe von Umständen gibt. Zum Beispiel, um festzustellen, wann ein Kunde ein Unternehmen verlassen wird. Die Kundenabwanderung ist komplex und beinhaltet normalerweise eine Reihe von Faktoren: Produktkosten, Zufriedenheit mit dem Endprodukt, Effizienz des Kundensupports, einfache Zahlung, Vertragsdauer, zusätzliche angebotene Funktionen sowie demografische Merkmale wie Geschlecht, Alter und Standort. Ein Random-Forest-Algorithmus erstellt Entscheidungsbäume für all diese Faktoren und kann genau vorhersagen, welche Kunden dem Unternehmen mit hoher Wahrscheinlichkeit den Rücken kehren werden.
Ein weiteres komplexes Beispiel wäre der Versuch, vorherzusagen, welche Kunden die größten Ausgaben in einem Jahr tätigen werden. Eine umfassende Palette von Variablen und Attributen wird analysiert und es kann prognostiziert werden, wen die Marketingabteilung in diesem Jahr ansprechen muss.
Bagging bei Decision Forests
Bagging, auch als Bootstrap-Aggregation bezeichnet, ermöglicht einzelnen Entscheidungsbäumen, zufällige Beispiele aus dem Datensatz abzurufen und Daten zu ersetzen, wodurch die Ergebnisse der einzelnen Bäume sehr unterschiedlich ausfallen. Das bedeutet, dass jeder Baum nicht alle verfügbaren Daten einbezieht, sondern nur einen Teil der Daten aufnimmt. Diese einzelnen Bäume treffen dann Entscheidungen anhand ihrer Daten und prognostizieren die Ergebnisse nur auf der Grundlage dieser Datenpunkte.
Das bedeutet, dass es in jedem Random Forest Bäume gibt, die mit unterschiedlichen Daten trainiert werden und unterschiedliche Funktionen für ihre Entscheidungen verwendet haben. Das bietet einen Puffer für die Bäume und schützt sie vor Fehlern und falschen Vorhersagen.
Der Bagging-Vorgang verwendet nur etwa zwei Drittel der Daten, sodass das verbleibende Drittel als Testsatz verwendet werden kann.
Vorteile des Random Forest
Einfach messbare relative Bedeutung
Es ist einfach, die Bedeutung einer Funktion zu messen, indem Sie die Knoten betrachten, die diese Funktion verwenden, um die Verunreinigung über alle Bäume in diesem Forest zu reduzieren. Es ist leicht, den Unterschied vor und nach der Permutation der Variablen zu erkennen und so Aufschluss für die Wichtigkeit dieser Variablen zu erhalten.
Vielseitig
Da ein Random Forest sowohl für Klassifizierungs- als auch für Regressionsaufgaben verwendet werden kann, ist er sehr vielseitig. Er kann problemlos binäre, numerische und kategorische Merkmale verarbeiten, ohne dass eine Transformation oder Neuskalierung erforderlich ist. Im Gegensatz zu fast jedem anderen Modell geht er mit allen Arten von Daten unglaublich effizient um.
Keine Überanpassung
Solange es im Wald genügend Bäume gibt, besteht kaum oder gar keine Gefahr einer Überanpassung. Entscheidungsbäume können auch überladen werden. Random Forests verhindern das, indem sie unterschiedlich große Bäume aus Teilmengen erstellen und die Ergebnisse kombinieren.
Äußerst genau
Die Verwendung einer Reihe von Bäumen mit signifikanten Unterschieden zwischen den Untergruppen macht Random Forests zu einem äußerst präzisem Prognosewerkzeug.
Reduziert den Zeitaufwand für das Datenmanagement
Bei der herkömmlichen Datenverarbeitung wird ein großer Teil der wertvollen Zeit für die Datenbereinigung aufgewendet. Ein Random Forest minimiert das, da er gut mit fehlenden Daten umgeht. Tests zum Vergleich von Prognosen aus vollständigen und unvollständigen Daten zeigten nahezu identische Leistungsniveaus. Ausreißer und nichtlineare Merkmale werden im Wesentlichen verworfen.
Random-Forest-Techniken helfen auch dabei, Fehler in Populationen und anderen unsymmetrischen Datensätzen auszugleichen. Dies geschieht durch Minimierung der Fehlerrate, sodass eine größere Klasse eine niedrigere und eine kleinere Klasse eine größere Fehlerrate aufweist.
Schnelles Training
Da Random Forests eine Teilmenge von Funktionen verwenden, können sie schnell Hunderte verschiedener Funktionen bewerten. Das bedeutet, dass die Prognosegeschwindigkeit auch schneller ist als bei anderen Modellen, da generierte Forests gespeichert und in Zukunft wiederverwendet werden können.
Herausforderungen des Random Forest
Langsamere Ergebnisse
Da der Algorithmus viele Bäume erstellt, erhöht er die Komplexität und Genauigkeit der Vorhersagen. Er verlangsamt durch die Erstellung hunderter oder tausender Bäume jedoch den Prozess und ist daher für Prognosen in Echtzeit zu ineffizient.
Lösung: Out-of-Bag-Stichproben (OOB), die nur zwei Drittel der Daten für die Prognose verwenden. Der Random-Forest-Prozess ist zudem parallelisierbar, sodass der Prozess auf viele Maschinen aufgeteilt werden kann, die ihn in weitaus kürzerer Zeit als in einem Einzelsystem ausgeführen.
Kann nicht extrapoliert werden
Eine Random Forest-Vorhersage basiert auf einem Durchschnitt der zuvor beobachteten Kennzeichnungen. Sein Bereich ist an die niedrigsten und höchsten Kennzeichnungen in den Trainingsdaten gebunden. Obwohl das nur in einem Szenario ein Problem darstellt, in dem die Trainings- und Prognoseeingaben unterschiedliche Reichweiten und Verteilungen haben, ist diese Kovariantenverschiebung ein Problem, das bedeutet, dass in einigen Situationen ein anderes Modell verwendet werden muss.
Niedrige Interpretierbarkeit
Random-Forest-Modelle stellen die ultimative Blackbox dar. Sie können nicht erklärt werden. Daher ist es schwierig zu verstehen, wie oder warum sie zu einer bestimmten Entscheidung gekommen sind. Diese Undurchdringlichkeit bedeutet, dass dem Modell einfach so vertraut werden muss, wie es ist, und dass die Ergebnisse unverändert akzeptiert werden müssen.
Alternativen zu Random Forest
Neuronale Netzwerke (NN)
Ein neuronales Netzwerk ist eine Reihe von Algorithmen, die zusammenarbeiten, um Beziehungen in Daten zu identifizieren. Das Netzwerk wurde entwickelt, um zu versuchen, die Funktionsweise des menschlichen Gehirns zu replizieren, wobei es sich ständig an die eingehenden Daten anpasst. Das Netzwerk verfügt über erhebliche Vorteile gegenüber Random Forest, da es mit anderen Daten im Tabellenformat wie Audio und Bildern arbeiten kann. Das Netzwerk kann auch mit vielen Hyperparametern fein abgestimmt werden, die wiederum an die erforderlichen Daten und Ergebnisse angepasst werden können.
Wenn die Daten, mit denen gearbeitet wird, jedoch nur tabellarisch sind, ist es am besten, sich an Random Forest zu halten, da dies einfacher ist und dennoch gute Ergebnisse liefert. Neuronale Netzwerke können arbeits- und rechenintensiv sein, und für viele Berechnungen sind die granularen Details möglicherweise einfach nicht erforderlich. Bei einfachen Tabellendaten verhalten sich sowohl neuronale Netzwerke als auch Random Forests in Bezug auf Vorhersagen ähnlich.
eXtreme Gradient Boosting (XGBoost)
eXtreme Gradient Boosting soll genauer als Random Forests und leistungsfähiger sein. Es kombiniert einen Random Forest und Gradient Boosting (GBM), um weitaus präzisere Ergebnisse zu erzielen. XGBoost macht langsamere Schritte und prognostiziert sequenziell anstatt unabhängig. Es nutzt die Muster in Residuen zur Verstärkung des Modells. Das bedeutet, dass der prognostizierte Fehler kleiner ist als bei Random-Forest-Prognosen.
Lineare Modelle
Lineare Vorhersagemodelle sind eine der einfachsten Techniken des maschinellen Lernens. Sie sind weit verbreitet und wenn sie mit dem richtigen Datensatz ausgeführt werden, sind sie ein leistungsstarkes Prognosewerkzeug. Sie sind auch leicht zu interpretieren und haben nicht den Blackbox-Effekt eines Random Forest. Sie sind jedoch deutlich weniger agil als ein Random Forest, da sie nur lineare Daten verwenden. Wenn Daten nicht linear sind, liefern Random Forests die besten Vorhersagen.
Cluster-Modelle
Zu den fünf wichtigsten Clustering-Methoden gehören Fuzzy-Clustering, dichtebasiertes Clustering, Partitionierungsmethoden, modellbasiertes Clustering und hierarchisches Clustering. Alle diese Modelle gruppieren in irgendeiner Form eine Gruppe von Objekten in ähnlichen Gruppen oder Clustern. Es ist eine Technik, die in vielen Bereichen der Data Science eingesetzt wird und Teil von Data Mining, Mustererkennung und maschinellem Lernen ist. Sie können zwar Clustering innerhalb eines Random Forest verwenden, es handelt sich jedoch um eine eigenständige Technik.
Cluster-Modelle passen sich hervorragend an neue Beispiele an, verallgemeinern Clustergrößen und -formen, und ihre Ergebnisse liefern wertvolle Dateneinblicke.
Clustering eignet sich jedoch schlecht für Ausreißer und die Nicht-Gaußsche-Verteilung. Clustering kann Skalierungsprobleme bei der Verarbeitung einer großen Anzahl von Beispielen verursachen. Schließlich kann die Anzahl der Merkmale hoch sein, sogar höher als die Anzahl der Beispiel.
Support Vector Machine (SVM)
Support Vector Machines analysieren Daten, die dann für die Regressionsanalyse und -klassifizierung verwendet werden. Das ist eine robuste Prognosemethode und erstellt zuverlässig Modelle, die Datenpunkte kategorisieren. Diese Modelle basieren auf der Idee des Abstands zwischen Punkten, obwohl dies möglicherweise nicht bei allen Fällen sinnvoll ist. Während ein Random Forest die Wahrscheinlichkeit angibt, zu einer Klasse in einem Klassifizierungsproblem zu gehören, gibt die Support Vector Machine eine Entfernung zu einer Grenze an, sodass sie immer noch eine Konvertierung erfordert, um sie zu einer Wahrscheinlichkeit zu machen.
Bayessches Netzwerk
Ein Bayessches Netzwerk ist ein grafisches Modell, das Variablen, Abhängigkeiten und Wahrscheinlichkeiten zeigt. Sie werden verwendet, um Modelle aus Daten zu erstellen, Ergebnisse vorherzusagen, Anomalien zu erkennen, Argumente bereitzustellen, Diagnosen durchzuführen und bei der Entscheidungsfindung zu helfen. Bayessche Netzwerke sind generativ und modellieren die Wahrscheinlichkeitsverteilung anhand gegebener Zufallsvariablen. Das Netzwerk eignet sich am besten für komplexe Abfragen von Zufallsvariablen.
Random Forests sind beschreibende Modelle und werden im Allgemeinen zur Klassifizierung verwendet. Wenn Kausalität von Interesse ist, sind Bayessche Netzwerke möglicherweise besser geeignet als Random Forests. Wenn der Datenpool groß ist, sind Random Forests vorzuziehen.

Die Zukunft von Random Forest
Der Random Forest ist leistungsstark, anpassungsfähig und agil und für viele Data Scientists das bevorzugte Modell des überwachten maschinellen Lernens. Er bietet eine Reihe von Vorteilen, die viele Alternativen nicht haben, und liefert genaue Vorhersagen und Klassifizierungen. Er kann jedoch größtenteils nicht erklärt werden und kann in Bezug auf die Art und Weise, wie Ergebnisse erzielt werden, eine Art Blackbox sein.
In Zukunft ist es möglich, dass die Kombination des klassischen Random Forest mit anderen Strategien Vorhersagen genauer macht und die Ergebnisse noch weiter optimiert. Außerdem wird der Sprung zum erklärbaren maschinellen Lernen jetzt immer mehr Realität und kann helfen, einige der Geheimnisse der Random-Forest-Vorhersagen aufzudecken.