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

bookDie Zufälligkeit des Waldes

Random Forest erstellt eine große Anzahl von Entscheidungsbäumen – typischerweise etwa 100 oder sogar mehr. Es ist nicht einfach, so viele verschiedene Bäume nur durch das Anpassen von Einstellungen zu erzeugen, daher wird Zufälligkeit eingeführt, um dies 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. Stichprobenziehung der Daten für jeden Baum;
  2. Stichprobenziehung der Merkmale an jedem Entscheidungsnotenpunkt jedes Baumes.

Stichprobenziehung 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 als zufällige Auswahl eines Datenpunkts aus dem Trainingssatz betrachtet werden – ä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.

Jeder Baum wird auf einer anderen Teilmenge der Daten trainiert, was bereits zur Diversität der Bäume beiträgt. Um noch mehr Zufälligkeit einzuführen und das Training zu beschleunigen, kann zusätzlich die Anzahl der Merkmale begrenzt werden, die jeder Baum bei der Aufteilung berücksichtigt.

Merkmalsauswahl durch Stichproben

In einem herkömmlichen Entscheidungsbaum werden an jedem Knoten alle verfügbaren Merkmale betrachtet, um die beste Aufteilung zu finden – in der Regel 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 berücksichtigt. Dies beschleunigt das Training und erhöht die Zufälligkeit, wodurch die Bäume vielfältiger werden. Ein gängiger Ansatz ist die Verwendung der Quadratwurzel der Gesamtanzahl der Merkmale. Gibt es beispielsweise 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 gezogen, sodass dasselbe Merkmal an einem Knoten nicht mehrfach erscheint. Die Anzahl der zu berücksichtigenden Merkmale kann je nach Anwendungsfall angepasst werden.

Die Anzahl der an jedem Entscheidungs-Knoten berücksichtigten Merkmale 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

Sie können max_features auch auf einen beliebigen Anteil zwischen 0 und 1 setzen (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 Antworten aus.

Select the correct answer

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

Awesome!

Completion rate improved to 4.17

bookDie 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. Es ist nicht einfach, so viele verschiedene Bäume nur durch das Anpassen von Einstellungen zu erzeugen, daher wird Zufälligkeit eingeführt, um dies 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. Stichprobenziehung der Daten für jeden Baum;
  2. Stichprobenziehung der Merkmale an jedem Entscheidungsnotenpunkt jedes Baumes.

Stichprobenziehung 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 als zufällige Auswahl eines Datenpunkts aus dem Trainingssatz betrachtet werden – ä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.

Jeder Baum wird auf einer anderen Teilmenge der Daten trainiert, was bereits zur Diversität der Bäume beiträgt. Um noch mehr Zufälligkeit einzuführen und das Training zu beschleunigen, kann zusätzlich die Anzahl der Merkmale begrenzt werden, die jeder Baum bei der Aufteilung berücksichtigt.

Merkmalsauswahl durch Stichproben

In einem herkömmlichen Entscheidungsbaum werden an jedem Knoten alle verfügbaren Merkmale betrachtet, um die beste Aufteilung zu finden – in der Regel 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 berücksichtigt. Dies beschleunigt das Training und erhöht die Zufälligkeit, wodurch die Bäume vielfältiger werden. Ein gängiger Ansatz ist die Verwendung der Quadratwurzel der Gesamtanzahl der Merkmale. Gibt es beispielsweise 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 gezogen, sodass dasselbe Merkmal an einem Knoten nicht mehrfach erscheint. Die Anzahl der zu berücksichtigenden Merkmale kann je nach Anwendungsfall angepasst werden.

Die Anzahl der an jedem Entscheidungs-Knoten berücksichtigten Merkmale 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

Sie können max_features auch auf einen beliebigen Anteil zwischen 0 und 1 setzen (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 Antworten aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 2
some-alt