Page cover

Ensemble-Methoden und Random Forest

Ensemble-Methoden sind ein übergeordneter Begriff für Techniken im maschinellen Lernen, bei denen mehrere Modelle kombiniert werden, um die Vorhersagegenauigkeit zu verbessern. Dieser Ansatz basiert auf dem Prinzip, dass die Kombination mehrerer unabhängig voneinander trainierte Modelle oft zu besseren Ergebnissen führen als die Verwendung eines einzelnen Modells (Mehrheitsentscheidung, Durchschnittsbildung). Ensemble-Methoden können verschiedene Algorithmen und Modelle verwenden, wie bspw. Entscheidungsbäume, lineare Modelle oder neuronale Netze. In Abbildung 7 wird ein beispielhafter Random Forest schematisch visualisiert.

Abbildung 7: Prinzipielle Funktionsweise eines Random Forest Modells

Random Forests sind eine Erweiterung von Entscheidungsbäumen und gehören zu den sogenannten Ensemble-Methoden. Sie kombinieren die Vorhersagen mehrerer Entscheidungsbäume, um die Vorhersagegenauigkeit zu steigern. Im Folgenden wird als Beispiel für Ensemble-Methoden das Funktionsprinzip von Random Forest vorgestellt:

  1. Bootstrapping (Stichprobenziehung mit zurücklegen): Es wird eine zufällige Teilmenge aus einem Datensatz gezogen, wobei jeder Datenpunkt nach dem Ziehen zurückgelegt wird. Das bedeutet, dass derselbe Datenpunkt mehrmals ausgewählt oder auch überhaupt nicht ausgewählt werden kann. Die entstandene zufällige Teilmenge wird als Bootstrapsatz bezeichnet und wird dann für das Training jedes einzelnen Entscheidungsbaums im Random Forest verwendet. Durch dieses Vorgehen entsteht Vielfalt, da jeder Baum auf einer etwas anderen Auswahl von Datenpunkten basiert.

  2. Zufällige Merkmalsauswahl: Für jeden Entscheidungsbaum wird für jeden Knoten eine zufällige Teilmenge der Merkmale ausgewählt, aus der das beste Merkmal ausgewählt wird. Dies führt dazu, dass die Bäume weniger korreliert sind, da nicht jedes Mal dasselbe beste Merkmal ausgewählt wird. Nimmt man zum Beispiel an, dass ein Datensatz 10 Merkmale enthält. Bei der Erstellung eines Entscheidungsbaums könnte für jeden Knoten zufällig entschieden werden, nur 3 der 10 Merkmale zu betrachten. Dies bedeutet, dass für jeden Knoten des Baumes nur aus diesen 3 Merkmalen ausgewählt wird, welches Merkmal am besten geeignet ist, die Daten zu teilen.

  3. Erstellung von Entscheidungsbäumen: Mehrere Entscheidungsbäume werden parallel erstellt, indem sie auf den Bootstrapsätzen und den ausgewählten Merkmalen trainiert werden.

  4. Vorhersageaggregation: Die Vorhersagen der einzelnen Bäume werden aggregiert, um die endgültige Vorhersage zu treffen. In Klassifikationsaufgaben erfolgt dies oft durch Mehrheitsabstimmung, in Regressionsaufgaben durch Durchschnittsbildung.

Entscheidungsbäume sind eigenständige Algorithmen, einfach zu interpretieren, neigen jedoch zu Überanpassung. Random Forests sind eine Sammlung von Entscheidungsbäumen, reduzieren Überanpassung und bieten eine höhere Vorhersagegenauigkeit. Einzelne Entscheidungsbäume haben eine niedrige Modellkomplexität. Random Forests sind aufgrund der Kombination mehrerer Bäume komplexer als Einzelbäume. Im nachfolgenden Abschnitt werden die Vor- und Nachteile der Entscheidungsbäume näher erläutert.

Vorteile:

  • Reduziert Überanpassung: da die Bäume auf unterschiedlichen Teildatensätzen trainiert sind.

  • Hohe Vorhersagegenauigkeit: durch die Kombination mehrerer Modelle.

  • Robust: gegenüber Ausreißern und Rauschen in den Daten, da die Vorhersagen vieler individueller Bäume kombiniert werden.

  • Interpretierbarkeit: Einzelne Entscheidungsbäume innerhalb des Random Forest sind einfach zu interpretieren, da sie Entscheidungsregeln in Form von Baumstrukturen darstellen.

Nachteile:

  • Komplexität: Durch die Kombination mehrerer Bäume ist Random Forest tendenziell komplexer als Einzelbäume, was zu erhöhtem Rechenaufwand führen kann, insbesondere bei großen Datensätzen.

  • Speicherbedarf: Der Speicherbedarf für die vielen Entscheidungsbäume kann hoch sein, was bei großen Modellen und Datensätzen ein Problem darstellen kann.

Random Forests sind besonders nützlich in komplexen Datenszenarien und haben breite Anwendungsbereiche, einschließlich der Analyse von Kundenverhalten, medizinischer Diagnosen und der Erkennung von Spam-E-Mails.

Der vorliegende Code veranschaulicht die Anwendung eines Ensemble-Lernverfahrens, speziell eines Random Forest, auf den Iris-Datensatz, um die Klassenzugehörigkeit von Blumen basierend auf ihren Merkmalen zu prognostizieren.

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

# Laden des Iris-Datensatzes
iris = load_iris()

# Trainingsdaten und -label definieren
X, y = iris.data, iris.target

# Aufteilung des Datensatzes in Trainings- und Testdaten
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Erstellung eines Random-Forest-Modells mit scikit-learn
model = RandomForestClassifier()

# Training des Modells
model.fit(X_train, y_train)

# Modellbewertung
accuracy = model.score(X_test, y_test)

Mehr erfahren: Analytics Vidhya/Understand Random Forest Algorithms With Examples (Updated 2024), IBM/What is random forest?, BigData-Insider/Was ist Random Forest?

Last updated