Random Forest

Aus dev.kaibel.net
Version vom 28. Februar 2026, 12:08 Uhr von PhilKa (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Random Forest = == Definition == Der '''Random Forest''' ist ein Ensemble-Lernverfahren des maschinellen Lernens, das aus einer Vielzahl von Entscheidungsbäumen besteht. Die einzelnen Bäume werden auf zufällig ausgewählten Teilmengen der Trainingsdaten und Merkmale trainiert, und ihre Ergebnisse werden kombiniert, um eine robuste und genaue Vorhersage zu erhalten. --- == Grundlagen == === Ensemble Learning === Random Forest gehört zur Klasse de…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Random Forest

Definition

Der Random Forest ist ein Ensemble-Lernverfahren des maschinellen Lernens, das aus einer Vielzahl von Entscheidungsbäumen besteht. Die einzelnen Bäume werden auf zufällig ausgewählten Teilmengen der Trainingsdaten und Merkmale trainiert, und ihre Ergebnisse werden kombiniert, um eine robuste und genaue Vorhersage zu erhalten.

---

Grundlagen

Ensemble Learning

Random Forest gehört zur Klasse der Ensemble-Methoden:

  • Kombination mehrerer Modelle
  • Ziel: bessere Generalisierung
  • Reduktion von Overfitting

---

Entscheidungsbäume

Ein Entscheidungsbaum ist ein baumartiges Modell:

  • Knoten: Entscheidungsregeln
  • Blätter: Vorhersagen
  • Pfade: Entscheidungswege

---

Bagging (Bootstrap Aggregating)

  • Ziehen zufälliger Stichproben mit Zurücklegen
  • Jeder Baum wird auf einer eigenen Stichprobe trainiert
  • Reduziert Varianz

---

Zufällige Merkmalsauswahl

  • Bei jedem Split wird nur eine Teilmenge der Features betrachtet
  • Erhöht Diversität der Bäume

---

Funktionsweise

  1. Erzeuge mehrere Bootstrap-Stichproben aus dem Trainingsdatensatz
  2. Trainiere für jede Stichprobe einen Entscheidungsbaum
  3. Wähle bei jedem Split zufällig eine Teilmenge der Features
  4. Kombiniere die Ergebnisse aller Bäume

---

Vorhersage

Klassifikation

  • Mehrheitsentscheidung (Voting)

Regression

  • Mittelwert der Vorhersagen

---

Mathematische Intuition

Gegeben:

  • Trainingsdaten D
  • Anzahl Bäume: T

Für jeden Baum t:

  • Ziehe Stichprobe Dₜ
  • Trainiere Baum hₜ(x)

Gesamtmodell:

h(x) = MajorityVote(h₁(x), ..., hₜ(x)) (Klassifikation)

oder

h(x) = (1/T) Σ hₜ(x) (Regression)

---

Eigenschaften

  • Nichtlinear
  • Nicht-parametrisch
  • Robust gegenüber Rauschen
  • Geringe Overfitting-Gefahr

---

Wichtige Konzepte

Out-of-Bag (OOB) Fehler

  • Daten, die nicht im Training eines Baums enthalten sind
  • Werden zur Validierung genutzt

---

Feature Importance

Random Forest kann die Wichtigkeit von Merkmalen bestimmen:

  • Gini Importance
  • Permutation Importance

---

Hyperparameter

Parameter Bedeutung
n_estimators Anzahl der Bäume
max_depth Maximale Tiefe der Bäume
max_features Anzahl betrachteter Features pro Split
min_samples_split Minimale Anzahl an Samples pro Split

---

Vorteile

  • Hohe Genauigkeit
  • Robust gegenüber Overfitting
  • Funktioniert mit vielen Features
  • Keine starke Parametrisierung notwendig
  • Feature-Importance verfügbar

---

Nachteile

  • Geringe Interpretierbarkeit
  • Hoher Speicherbedarf
  • Langsam bei sehr großen Datensätzen

---

Vergleich zu anderen Verfahren

Verfahren Eigenschaften
Entscheidungsbaum Einfach, interpretierbar, anfällig für Overfitting
Random Forest Robust, genau, weniger interpretierbar
Gradient Boosting Sehr genau, aber anfälliger für Overfitting

---

Anwendungen

  • Klassifikation (z. B. Spam-Erkennung)
  • Regression (z. B. Preisvorhersage)
  • Medizinische Diagnosen
  • Betrugserkennung
  • Bildverarbeitung

---

Erweiterungen

  • Extremely Randomized Trees (ExtraTrees)
  • Random Survival Forests
  • Online Random Forests

---

Beispiel (Pseudocode)

from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier(n_estimators=100)
model.fit(X_train, y_train)
prediction = model.predict(X_test)

---

Herausforderungen

  • Wahl geeigneter Hyperparameter
  • Umgang mit großen Datenmengen
  • Interpretierbarkeit

---

Literatur

  • Breiman, L.: Random Forests (2001)
  • Hastie, T.: The Elements of Statistical Learning

---

Siehe auch