Die 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:
- Stichprobenziehung der Daten für jeden Baum;
- 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.
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.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 4.17
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. 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:
- Stichprobenziehung der Daten für jeden Baum;
- 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.
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.
Danke für Ihr Feedback!