Was ist ein Random Forest?
Ein Random Forest ist ein Algorithmus für überwachtes maschinelles Lernen, der die Vorhersagen vieler Entscheidungsbäume zu einer Klassifikation oder Regression bündelt. Jeder Baum bekommt eine zufällige Trainingsstichprobe und prüft an seinen Knoten zufällig ausgewählte Merkmale. Für eine Klassifikation kann die Mehrheit der Bäume die Klasse bestimmen. Bei einer Regression ist die Vorhersage des Waldes gewöhnlich der Mittelwert der Baumprognosen.
Ein Fahrradverleih plant um 17 Uhr die nächste Verteilfahrt. Für die Zielklasse „Bahnhofsstation um 18 Uhr leer“ braucht er eine Klassifikation. Für den Zielwert „verfügbare Räder um 18 Uhr“ braucht er eine Regression. Beide Modelle können dieselben Merkmale nutzen, etwa den aktuellen Fahrradbestand und die Rückgaben der letzten halben Stunde. Die Wahl der Zielvariable bestimmt, was der Wald lernt.
Was unterscheidet einen Entscheidungsbaum von einem Random Forest?
Ein Entscheidungsbaum führt eine Beobachtung von der Wurzel über Verzweigungen bis in ein Blatt. An jedem inneren Knoten prüft er ein Merkmal. Im Fahrradbeispiel könnte die erste Regel „Bestand um 17 Uhr höchstens drei Räder“ lauten. Am nächsten Knoten prüft der Baum die Anzahl der Rückgaben in der letzten halben Stunde. Im Blatt stehen die Trainingsfälle, die denselben Entscheidungspfad genommen haben. Aus ihren Zielwerten ergibt sich die Vorhersage.
Ein einzelner Entscheidungsbaum reagiert auf Veränderungen der Trainingsstichprobe mitunter empfindlich. Ein anderer Split an der Wurzel verändert ganze Teilbäume. Ein Random Forest, auf Deutsch auch Zufallswald, fasst solche Einzelbäume zu einem Ensemble zusammen. Leo Breiman beschrieb das Verfahren 2001 in Random Forests. Zwei Größen sind für die Modellgüte wichtig: die Vorhersagekraft der Einzelbäume und die Korrelation ihrer Fehler.
Wie funktioniert der Random-Forest-Algorithmus?
Bagging: Was ist eine Bootstrap-Stichprobe?
Für jeden Entscheidungsbaum zieht der klassische Random Forest eine eigene Bootstrap-Stichprobe. Beim Ziehen mit Zurücklegen bleibt jede Beobachtung nach der Ziehung im Datenbestand. Sechs Zeilen stehen beispielsweise für die Stationstage A bis F. Die Stichprobe A, A, C, D, D, F enthält sechs Ziehungen, aber nur vier unterschiedliche Trainingsfälle. B und E fehlen. Für Baum 2 ergibt sich vielleicht die Stichprobe B, C, C, D, E, F.
Die ausgelassenen Beobachtungen B und E stehen für weitere Bootstrap-Stichproben zur Verfügung. Doppelt gezogene Trainingsfälle wie A erhalten beim ersten Baum doppeltes Gewicht. Bagging steht für Bootstrap Aggregating: Auf die Stichprobenziehung und das Training der Einzelmodelle folgt die Aggregation ihrer Vorhersagen.
Warum wählt der Random Forest an jedem Knoten zufällige Merkmale aus?
Beim Bagging ähneln sich die Bäume mitunter stark. Dominiert ein Merkmal wie der Fahrradbestand um 17 Uhr, wählen viele Entscheidungsbäume trotz unterschiedlicher Bootstrap-Stichproben denselben Wurzelsplit. Der Random Forest zieht deshalb für jeden Knoten eine zufällige Teilmenge der Merkmale. Innerhalb dieser Teilmenge prüft der Baum die möglichen Schwellenwerte.
Bei neun Merkmalen und drei zufälligen Kandidaten pro Knoten prüft die Wurzel beispielsweise Fahrradbestand, Wochentag und Anteil belegter Stellplätze. Am nächsten Knoten stehen vielleicht Rückgaben, Entnahmen und Temperatur zur Auswahl. Zufällig ist die Kandidatenauswahl. Den Schwellenwert für den Split optimiert der Entscheidungsbaum anhand seines Teilungskriteriums. Ein an der Wurzel ausgelassenes Merkmal kann im selben Baum später die beste Aufteilung liefern.
Wie findet ein Baum den besten Split?
Für eine Klassifikation lässt sich die Gini-Unreinheit verwenden. Ein Knoten mit acht Trainingsfällen enthalte viermal die Klasse „leer“ und viermal „nicht leer“. Seine Gini-Unreinheit beträgt 1 − 0,5² − 0,5² = 0,5. Enthält ein Knoten nur eine Klasse, beträgt seine Unreinheit null.
Ein Schwellenwert teilt die acht Trainingsfälle in zwei gleich große Gruppen. Im linken Kindknoten ist das Klassenverhältnis 3:1, im rechten 1:3. Beide Kindknoten haben die Gini-Unreinheit 1 − 0,75² − 0,25² = 0,375. Die gewichtete Abnahme der Unreinheit beträgt 0,125. Ein Split mit zwei gleichmäßig gemischten Kindknoten erzielt dagegen keinen Gewinn. Bei einer Regression wählt der Baum häufig den Split mit der größten Reduktion des mittleren quadratischen Fehlers.
Random Forest Beispiel: Klassifikation und Regression
Wie entscheidet ein Random Forest über die Klasse?
Es ist Dienstag, 17 Uhr. Am Bahnhof stehen noch drei Fahrräder. Fünf vereinfachte Klassifikationsbäume verarbeiten denselben Merkmalsvektor. Die folgende Tabelle zeigt fiktive Blattbelegungen für diesen einen Prognosezeitpunkt. Jedes erreichte Blatt enthält zehn Trainingsfälle mit bekanntem Stationsbestand um 18 Uhr.
| Baum | Trainingsfälle „leer“ im erreichten Blatt | Trainingsfälle „nicht leer“ | Stimme des Baums |
|---|---|---|---|
| Baum 1 | 6 | 4 | Leer |
| Baum 2 | 6 | 4 | Leer |
| Baum 3 | 7 | 3 | Leer |
| Baum 4 | 1 | 9 | Nicht leer |
| Baum 5 | 2 | 8 | Nicht leer |
Bei der Mehrheitsabstimmung (Hard Voting) gewinnt die Klasse „leer“ mit drei von fünf Baumstimmen. Einige Implementierungen, darunter scikit-learn, mitteln für die Klassifikation die Klassenwahrscheinlichkeiten der Bäume. Der Mittelwert für „leer“ beträgt (0,6 + 0,6 + 0,7 + 0,1 + 0,2) / 5 = 0,44. Die Gegenklasse erreicht 0,56. Die Klasse mit der höheren mittleren Wahrscheinlichkeit ist „nicht leer“.
Quelle: datenbasiert.de
Wie berechnet ein Random Forest einen Zahlenwert?
Für die Regression erhält jeder Trainingstag einen numerischen Zielwert: den Fahrradbestand um 18 Uhr. Beim Regressionsbaum mit quadratischem Fehler ist die Blattvorhersage der Mittelwert der dort beobachteten Zielwerte. Für vier Trainingsfälle mit null, zwei, drei und drei Rädern lautet die Einzelprognose zwei Räder.
Fünf Regressionsbäume liefern für den Dienstag beispielhaft die Vorhersagen 1, 2, 2, 3 und 4. Der Random-Forest-Regressor schätzt im Mittel 2,4 verfügbare Räder. Ein nicht ganzzahliger Erwartungswert ist bei einer Bestandsprognose sinnvoll. Für den Einsatzwagen zählt allerdings auch das Risiko einer leeren Station. Der Mittelwert allein beantwortet diese Frage nicht: Ein Bestand von stets zwei Rädern und ein Wechsel zwischen null und vier Rädern haben denselben Mittelwert, aber unterschiedliche Leerstandsrisiken.
Für die Modellwahl lohnt ein Blick auf die Trainingszeile: Merkmale sind in beiden Fällen der um 17 Uhr gemessene Bestand sowie die bis dahin erfassten Entnahmen und Rückgaben. Für den Klassifikationswald erzeugst du das Label „leer“ aus dem später gemessenen Bestand. Für den Regressionswald bleibt dieser Bestand die numerische Zielvariable. Ein binäres Label und ein Zahlenwert aus derselben Messung führen somit zu unterschiedlichen Teilungskriterien und Blattvorhersagen.
Warum können viele Bäume zuverlässiger vorhersagen?
Ein tiefer Entscheidungsbaum passt sich einzelnen Trainingsfällen stark an. Im Ensemble können sich Abweichungen der Einzelprognosen ausgleichen. Je geringer die Korrelation zwischen den Baumprognosen bei vergleichbarer Varianz ist, desto stärker senkt die Mittelung ihre Varianz. Unterschätzen dagegen alle Regressionsbäume systematisch die Rückgaben zur Hauptverkehrszeit, bleibt dieser Bias im Mittelwert erhalten.
Ein Beispiel für systematischen Prognosefehler sind Trainingsdaten ausschließlich aus den Semesterferien. Im Semester fehlt dem Wald Erfahrung mit der höheren Nachfrage. Mehr Bäume stabilisieren die Prognose gegenüber der zufälligen Stichprobenziehung. Für die Generalisierung auf Vorlesungstage braucht das Modell aber repräsentative Trainingsdaten und geeignete Merkmale.
Wie prüft man die Vorhersagegüte eines Random Forest?
Was bedeutet Out-of-Bag beim Random Forest?
Bei der Out-of-Bag-Bewertung (OOB) erhält jeder Trainingsfall Vorhersagen ausschließlich von Bäumen, deren Bootstrap-Stichprobe diesen Fall auslässt. Baum 1 mit der Stichprobe A, A, C, D, D, F liefert OOB-Prognosen für B und E. Für A wäre seine Vorhersage eine Trainingsprognose. Andere Bäume haben andere OOB-Stichproben. Bei genügend Bäumen lässt sich für jeden Trainingsfall eine OOB-Vorhersage aus den zulässigen Baumstimmen oder Regressionswerten bilden.
Bei einer Bootstrap-Stichprobe mit sechs gleich wahrscheinlichen Zeilen verfehlt eine einzelne Ziehung Tag B mit Wahrscheinlichkeit 5/6. Bei sechs unabhängigen Ziehungen beträgt die Wahrscheinlichkeit, dass B vollständig fehlt, (5/6)⁶ ≈ 33,5 %. Allgemein nähert sich (1 − 1/n)ⁿ für große Datensätze rund 36,8 Prozent. Pro Baum bleiben also im Mittel knapp 37 Prozent der ursprünglichen Trainingsfälle für die OOB-Bewertung übrig, wenn der Baum so viele Ziehungen wie ursprüngliche Zeilen erhält.
Für die OOB-Fehlerrate vergleichst du die OOB-Klassifikation jeder Beobachtung mit ihrem tatsächlichen Label. Bei 100 auswertbaren Trainingsfällen und zwölf Fehlklassifikationen beträgt der OOB-Fehler zwölf Prozent. Das ist eine interne Schätzung der Generalisierungsleistung. Wählst du anhand dieses Werts Baumtiefe, Blattgröße und Merkmalsanzahl aus, bleibt ein separater Testsatz für den abschließenden Modellvergleich sinnvoll.
Wann braucht man einen zeitlich getrennten Testdatensatz?
Ein zufällig ausgelassener Montag kann einen Dienstag derselben Woche unter den Trainingsdaten seiner OOB-Bäume haben. Für eine Zeitreihenanalyse ist eine solche OOB-Prognose nur bedingt aussagekräftig. Bei einer echten Bestandsprognose vor dem Berufsverkehr stehen die Daten späterer Tage noch aus. Ein chronologisch getrennter Testzeitraum bildet diesen Einsatz besser ab.
Der Verleih könnte die Bäume auf Januar bis Juni trainieren, im Juli Hyperparameter auswählen und den August als unangetasteten Testzeitraum verwenden. Auch die Features brauchen einen Zeitstempel: Für die Vorhersage um 17 Uhr ist der bis dahin gemessene Bestand verfügbar, die tatsächliche Zahl der Rückgaben zwischen 17 und 18 Uhr dagegen erst nach Ablauf der Prognosestunde. Ein solches Datenleck kann trotz sauber getrennter Kalendermonate zu unrealistisch guten Testwerten führen.
Quelle: datenbasiert.de
Welche Parameter sind beim Random Forest wichtig?
Maximale Baumtiefe und minimale Blattgröße begrenzen die Komplexität eines Entscheidungsbaums. Die Merkmalsauswahl pro Split beeinflusst, wie ähnlich sich die Bäume werden. Die Baumzahl steuert vor allem die Stabilität der Ensemblevorhersage. Vergleiche Hyperparameter auf denselben Validierungsdaten mit derselben Zielgröße.
| Parameter | Was er steuert | Woran du die Wirkung erkennst |
|---|---|---|
| n_estimators | Anzahl der Entscheidungsbäume | Wenn die Validierungswerte mit wachsender Baumzahl kaum noch schwanken, bringen weitere Bäume oft wenig zusätzliche Stabilität. |
| max_features | Anzahl oder Anteil der Merkmale, die für einen Split als Kandidaten dienen | Eine kleinere Auswahl kann die Korrelation der Bäume senken. Fehlen informative Merkmale zu oft, sinkt die Güte der Einzelbäume. |
| min_samples_leaf | Mindestanzahl von Trainingsbeispielen pro Blatt | Größere Blätter glätten die Vorhersagen. Ein seltener, tatsächlich relevanter Sonderfall kann dadurch im Mittelwert verschwinden. |
| max_depth | Maximale Baumtiefe | Eine begrenzte Tiefe verkürzt Entscheidungspfade und beschränkt die Komplexität jedes Baums. |
| max_samples | Umfang der Stichprobe pro Baum bei aktiviertem Bootstrap | Kleinere Stichproben reduzieren den Trainingsaufwand pro Baum und verändern die Zusammensetzung der OOB-Stichproben. |
Wie viele Bäume braucht ein Random Forest?
Teste beispielsweise 50, 100, 200 und 400 Bäume mit denselben übrigen Hyperparametern. Vergleiche den Validierungsfehler und die Rechenzeit. Ein fester Zufallsstart (random_state) macht die Bootstrap-Stichproben und die Merkmalsauswahl reproduzierbar. Weitere Startwerte zeigen die Streuung der Modellgüte. Bleibt der Validierungsfehler ab 200 Bäumen stabil, liefern 400 Bäume für diesen Datensatz möglicherweise nur mehr Rechenaufwand.
Beim parallelen Training bearbeitet jeder Baum seine Bootstrap-Stichprobe unabhängig. Für die Inferenz durchläuft jede Beobachtung einen Entscheidungspfad pro Baum. Mehr Bäume erhöhen also Speicherbedarf und Rechenaufwand. Wer Echtzeitprognosen braucht, misst die Latenz des trainierten Waldes auf der vorgesehenen Hardware. Eine kurze Trainingszeit garantiert keine kurze Antwortzeit für eine Einzelanfrage.
Wie erkennt man wichtige Merkmale im Random Forest?
Was sagt die Feature Importance aus?
Die Mean Decrease in Impurity (MDI) misst die Merkmalswichtigkeit anhand der Splits im trainierten Wald. Für jedes Merkmal addiert sie die Abnahme der Unreinheit, gewichtet mit dem Anteil der Trainingsfälle im jeweiligen Knoten. Ein Wurzelsplit betrifft die gesamte Stichprobe des Baums. Ein tiefer Split verbessert die Reinheit vielleicht nur für fünf Trainingsfälle. Bei einer Klassifikation mit Gini-Kriterium heißt diese Kennzahl auch Gini Importance.
Eine numerische Stationskennung mit vielen Werten bietet dem Entscheidungsbaum viele mögliche Schwellenwerte. Manche Splits verbessern die Reinheit der Trainingsblätter schon durch Zufall. Eine hohe Gini Importance der Stationskennung ist für die Datenanalyse daher erklärungsbedürftig. Die Kennzahl beschreibt, wie das Modell seine Trainingsdaten aufgeteilt hat. Ob das Merkmal bei unbekannten Stationen die Vorhersage verbessert, ist eine eigene Frage.
Wie funktioniert Permutation Importance?
Bei der Permutation Importance misst du zuerst die Vorhersagegüte auf zurückgehaltenen Daten. Danach mischst du die Werte einer einzelnen Merkmalsspalte zwischen den Zeilen und berechnest die Kennzahl mit dem unveränderten Wald erneut. Beispiel: Der mittlere absolute Fehler steigt von 1,6 auf 2,5 Räder, nachdem der Bestand um 17 Uhr vertauscht wurde. Die Verschlechterung um 0,9 Räder zeigt, wie stark die Prognose auf die korrekte Zuordnung dieses Features angewiesen war. Wiederholte Permutationen zeigen die Streuung dieser Schätzung.
Zwei korrelierte Merkmale können einander ersetzen. Liefern Fahrradbestand und Anteil belegter Stellplätze ähnliche Informationen, verändert das Permutieren einer einzelnen Merkmalsspalte den Prognosefehler womöglich kaum. Die globale Merkmalswichtigkeit erklärt zudem keine einzelne Vorhersage vollständig. Für den konkreten Leerstandsalarm kannst du die Entscheidungspfade ausgewählter Bäume auslesen und ihre Blattvorhersagen mit der Ensemblevorhersage vergleichen.
Wofür wird Random Forest eingesetzt?
Random Forests werden häufig für tabellarische Daten mit bekannten Zielwerten eingesetzt. Die Art der Zielvariable legt fest, ob die Aufgabe eine Klassifikation oder eine Regression ist. Auch der Zeitpunkt der Entscheidung gehört zur Definition der Aufgabe.
| Anwendung | Ziel der Vorhersage | Sinnvolle Prüfung |
|---|---|---|
| Fahrradverleih | Fahrradbestand in einer Stunde als Regressionsziel | Prognosefehler in Rädern mit einer einfachen Bestandsfortschreibung vergleichen |
| E-Commerce | Kauf innerhalb der nächsten Woche als Zielklasse | Kaufverhalten erst nach dem Vorhersagezeitpunkt zur Bildung des Labels verwenden |
| Finanzwesen | Auffällige Transaktionen für eine Betrugsprüfung priorisieren | Neben erkannten Betrugsfällen die Zahl der Fehlalarme messen |
| Medizinische Forschung | Ein in Patientendaten dokumentiertes Ereignis vorhersagen | Trainingsdaten und Testdaten nach Personen trennen, damit dieselbe Krankengeschichte nicht zweimal in die Bewertung eingeht |
Bei Aktienkursen ist der zuletzt beobachtete Kurs eine sinnvolle Baseline. Ein Regressionswald muss sie auf späteren Testdaten schlagen. Seine Blattmittelwerte und deren Mittelwert im Ensemble liegen innerhalb des Wertebereichs der Trainingszielwerte. Neue Höchststände oberhalb dieses Bereichs kann ein gewöhnlicher Random-Forest-Regressor daher nicht extrapolieren.
Was unterscheidet Random Forest von Gradient Boosting?
Random Forest kombiniert Bäume, die unabhängig voneinander trainiert werden können. Bei Gradient Boosting hängt jeder neue Baum vom bisherigen Ensemble ab. Er wird so angepasst, dass er den aktuellen Verlust verringert. Bei quadratischem Fehler lernt der nächste Baum aus den Residuen, also den verbleibenden Abweichungen zwischen Zielwert und Vorhersage.
Für den Fahrradverleih lautet die Baseline: Der Fahrradbestand um 18 Uhr entspricht dem Bestand um 17 Uhr. Entscheidungsbaum, Random Forest und Gradient Boosting erhalten identische Merkmale und dieselben Testtage. Der MAE zeigt, welches Regressionsmodell die Radzahl genauer schätzt. Für eine Warnung vor Leerstand entscheiden dagegen Precision und Recall der Klassifikation.






