Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Die Zufälligkeit des Waldes | Random Forest
Klassifikation mit Python

Die Zufälligkeit des Waldes

Swipe um das Menü anzuzeigen

Random Forest erstellt eine große Anzahl von Entscheidungsbäumen – typischerweise etwa 100 oder sogar mehr. So viele verschiedene Bäume zu erzeugen ist nicht einfach nur durch das Anpassen von Einstellungen, daher wird Zufälligkeit eingeführt, um zu unterstützen. Entscheidungsbäume sind sehr empfindlich gegenüber kleinen Änderungen in den Daten und Einstellungen, was auf natürliche Weise zu einer großen Vielfalt an Bäumen im Wald führt.

Es gibt zwei Quellen der Zufälligkeit in einem Random Forest:

  1. Stichproben der Daten für jeden Baum;
  2. Stichproben der Merkmale an jedem Entscheidungsnotenpunkt jedes Baumes.

Stichproben der Daten

Um für jeden Entscheidungsbaum im Wald einen unterschiedlichen Trainingssatz zu erstellen, wird die Bootstrap-Methode (auch bekannt als Bagging) verwendet. Die Idee ist, mit Zurücklegen eine Stichprobe in derselben Größe wie der ursprüngliche Datensatz für jeden Baum zu ziehen.

Standardmäßig entspricht die Größe des Datensatzes jedes Baumes der Größe des ursprünglichen Datensatzes. Das Ziehen mit Zurücklegen kann man sich als zufälliges Auswählen eines Datenpunkts aus dem Trainingssatz vorstellen – ähnlich wie das Ziehen einer Karte aus einem Kartenspiel. Im Gegensatz zum normalen Kartenziehen wird jedoch jeder ausgewählte Datenpunkt nicht entfernt, sodass derselbe Datenpunkt mehrfach ausgewählt werden kann.

RandomForest

Jeder Baum wird auf einem anderen Teil der Daten trainiert, was bereits zur Vielfalt der Bäume beiträgt. Um noch mehr Zufälligkeit hinzuzufügen und das Training zu beschleunigen, kann zusätzlich die Anzahl der Merkmale begrenzt werden, die jeder Baum bei der Aufteilung berücksichtigt.

Merkmalsauswahl

In einem klassischen Entscheidungsbaum prüft jeder Knoten alle verfügbaren Merkmale, um die beste Aufteilung zu finden – meist durch Berechnung von Metriken wie der Gini-Unreinheit. Dieser Prozess ist rechnerisch aufwendig.

In einem Random Forest wird an jedem Knoten nur eine zufällige Teilmenge der Merkmale betrachtet. Dies beschleunigt das Training und erhöht die Zufälligkeit, was die Bäume vielfältiger macht. Eine gängige Methode ist die Verwendung der Quadratwurzel der Gesamtanzahl der Merkmale. Gibt es zum Beispiel 9 Merkmale, werden an jedem Knoten zufällig 3 ausgewählt; bei 10.000 Merkmalen werden etwa 100 ausgewählt.

Die Merkmale werden ohne Zurücklegen ausgewählt, sodass dasselbe Merkmal an einem Knoten nicht mehrfach erscheint. Die Anzahl der zu berücksichtigenden Merkmale kann je nach Anwendungsfall angepasst werden.

Merkmale

Die Anzahl der Merkmale, die an jedem Entscheidungsnotenpunkt berücksichtigt werden, kann mit dem Parameter max_features in der scikit-learn-Implementierung gesteuert werden. Hier sind einige gängige Optionen:

  • max_features='sqrt': verwendet die Quadratwurzel der Gesamtanzahl der Merkmale. Dies ist ein häufig verwendeter Standardwert, der Genauigkeit und Effizienz ausbalanciert;
  • max_features='log2': verwendet den Logarithmus zur Basis 2 der Gesamtanzahl der Merkmale und sorgt für noch mehr Zufälligkeit;
  • max_features=0.1: verwendet 10 % der Merkmale, wobei der Wert als Anteil interpretiert wird.
Note
Hinweis

max_features kann auch auf einen beliebigen Anteil zwischen 0 und 1 gesetzt werden (z. B. verwendet max_features=0.1 10 % der Merkmale).

Zusammenfassend ist ein Random Forest so konzipiert, dass jeder Baum auf einer anderen Stichprobe der Daten trainiert wird und jeder Entscheidungsnotenpunkt innerhalb dieser Bäume eine andere zufällige Teilmenge von Merkmalen berücksichtigt. Diese eingebaute Zufälligkeit führt zu einer vielfältigen Sammlung von Bäumen, was letztlich die Gesamtleistung des Modells verbessert.

question mark

Was trägt zur Zufälligkeit in einem Random Forest bei? Wählen Sie alle zutreffenden Optionen aus.

Wählen Sie alle richtigen Antworten aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 4. Kapitel 2
some-alt