Entscheidungsbaumregression von Grund auf: Theorie und Praxis

Letzte Aktualisierung: 03/14/2026
  • Entscheidungsbäume modellieren Vorhersagen mittels rekursiver Aufteilungen, die so gewählt werden, dass die Unreinheit minimiert wird, wobei Maße wie Gini, Entropie oder Varianz verwendet werden.
  • Der Informationsgewinn dient als Grundlage für die Auswahl von Merkmalen und Schwellenwerten an jedem Knoten, wodurch Bäume sowohl Regression als auch Klassifizierung bewältigen können.
  • Hyperparameter wie max_depth, min_samples_split und min_information_gain steuern Overfitting und die Komplexität des Entscheidungsbaums.
  • Das Verständnis der Mechanismen einzelner Bäume ist unerlässlich, bevor man zu Ensembles wie Random Forests übergeht, die die Leistung stabilisieren und steigern.

Entscheidungsbaumregression von Grund auf

Die Entwicklung einer Entscheidungsbaumregression von Grund auf ist eine der aufschlussreichsten Übungen, die man machen kann, wenn man wirklich verstehen will, wie baumbasierte Modelle funktionieren und warum sie im maschinellen Lernen so beliebt sind. Anstatt den Baum als mysteriöse Blackbox zu behandeln, sehen Sie, wie jede Aufteilung ausgewählt wird, wie die Unreinheit gemessen wird und wie numerische Vorhersagen an den Blättern erstellt werden, sowohl für Regressions- als auch für Klassifizierungsprobleme.

In diesem Leitfaden erläutern wir die Kernideen von Entscheidungsbäumen, die von ihnen verwendeten Kostenfunktionen, wie sie nach den besten Aufteilungen suchen und wie man einen einfachen Baum programmiert, der sowohl Regression als auch Klassifizierung unterstützt, und zwar ausschließlich mit grundlegenden Konzepten wie Schleifen, Bedingungen und einfacher Statistik. Dabei werden wir Regressions- und Klassifikationsbäume vergleichen, die Theorie mit praktischen Implementierungen in Werkzeugen wie Python und R (zum Beispiel mit rpart und tree) verknüpfen und kurz Entscheidungsbäume in größere Ensembles wie Random Forests einordnen.

Was ist ein Entscheidungsbaum und warum ist er so intuitiv?

Ein Entscheidungsbaum ist im Wesentlichen eine Abfolge von Ja/Nein-Fragen (oder einfachen Regeln), die Sie von einer Wurzelentscheidung bis hin zu einer endgültigen Vorhersage in einem Blattknoten führt. In einem typischen überwachten Lernverfahren besteht das Ziel darin, eine Zielvariable vorherzusagen. Y Unter Verwendung mehrerer Prädiktoren (Merkmale, Kovariaten) lernt der Baum eine Reihe von Fragen wie „Ist das Gewicht ≤ 103?“ oder „Ist das Land in {USA, Großbritannien, Kanada}?“, die die Daten schrittweise in homogenere Gruppen unterteilen.

Um ein besseres Verständnis zu bekommen, stellen Sie sich vor, Sie möchten anhand von Größe und Gewicht vorhersagen, ob jemand übergewichtig ist, und Sie verfügen über einen gekennzeichneten Datensatz, der Ihnen angibt, wer übergewichtig ist und wer nicht. Ein Entscheidungsbaum könnte beispielsweise eine Regel wie „Bei einem Gewicht über 100 kg ist mit Übergewicht zu rechnen“ aufdecken. Diese Regel ist jedoch nicht perfekt: Manche Menschen mit einem Gewicht über 100 kg sind nicht übergewichtig, andere hingegen schon. Der Baum fügt dann weitere Fragen (Unterkategorien) hinzu, beispielsweise zur Körpergröße oder zu einem präziseren Gewichtsschwellenwert, um diese anfänglichen, groben Vorhersagen zu verfeinern.

Jeder innere Knoten im Baum entspricht einer Entscheidungsregel, jeder Zweig entspricht einem Ergebnis dieser Regel und jeder Blattknoten entspricht einem Bereich des Merkmalsraums, in dem die Vorhersagen konstant sind. Bei der Klassifizierung gibt ein Blatt eine Klassenbezeichnung (oder eine Wahrscheinlichkeitsverteilung über die Bezeichnungen) zurück; bei der Regression gibt ein Blatt typischerweise den Mittelwert der Zielwerte zurück, die in diesen Bereich fallen.

Eine der größten Stärken von Entscheidungsbäumen ist, dass sie sowohl Regression als auch Klassifizierung auf natürliche Weise bewältigen, leicht zu interpretieren sind und sowohl mit quantitativen als auch mit qualitativen (kategorialen) Prädiktoren ohne aufwändige Vorverarbeitung funktionieren. Sie müssen keine bestimmte Verteilung für Ihre Merkmale oder Ihr Ziel annehmen, was Bäume in realen Szenarien, in denen klassische lineare Annahmen oft nicht zutreffen, sehr attraktiv macht.

Klassifikations- vs. Regressionsbäume

Obwohl die Struktur von Klassifikations- und Regressionsbäumen gleich ist, unterscheiden sich die Art der Zielvariablen Y und die für die Aufteilung verwendete Kostenfunktion zwischen diesen beiden Typen. Wenn Y quantitativ ist (z. B. Umsatz, Lebenserwartung, Kraftstoffverbrauch), spricht man von einem Regressionsbaum; wenn Y qualitativ oder kategorisch ist (z. B. überlebt vs. nicht überlebt, übergewichtig vs. nicht übergewichtig), spricht man von einem Klassifikationsbaum.

Bei einem Regressionsbaum besteht das übliche Ziel darin, den Merkmalsraum in Regionen zu unterteilen, in denen die Antwort durch eine Konstante angenähert werden kann, oft durch den Mittelwert der Beobachtungen in dieser Region. Typische Entscheidungsregeln haben die Form „ist x“k ≤ c?”, wobei xk ist eine der Kovariablen und c ist ein Schwellenwert; diese Regeln teilen den Raum wiederholt in Hyperrechtecke auf, und alle Punkte im selben Hyperrechteck teilen sich den gleichen vorhergesagten Wert ŷ.

In einem Entscheidungsbaum erfolgen die Aufteilungen weiterhin nach dem Schema „Merkmal ≤ Schwellenwert?“ oder „Kategorie in Menge S?“, die Qualität einer Aufteilung wird jedoch daran gemessen, wie rein die resultierenden Kindknoten hinsichtlich der Klassenbezeichnungen sind. Die Blattvorhersage ist üblicherweise die Mehrheitsklasse innerhalb dieses Knotens, und das Modell versucht, Blätter zu erzeugen, die möglichst nur eine einzige Klasse enthalten.

Trotz dieser Unterschiede im Zieltyp können Sie aus Programmiersicht eine einzige generische Baumstruktur implementieren und je nachdem, ob Sie eine Regression oder eine Klassifizierung durchführen, einfach verschiedene Unreinheits- oder Verlustmaße einsetzen. Später, wenn wir den Informationsgewinn berechnen, werden Sie sehen, dass die Formeln für die Klassifizierung (basierend auf der Entropie) und die Regression (basierend auf der Varianz) im Prinzip parallel sind.

Unreinheits- und Kostenfunktionen in Entscheidungsbäumen

Kernstück jedes Entscheidungsbaumalgorithmus ist eine Kostenfunktion, die bewertet, wie gut eine bestimmte Aufteilung die Daten in sinnvolle Gruppen trennt. Diese Kostenfunktion wird in Bezug auf die Unreinheit ausgedrückt: Ein Knoten gilt als rein, wenn alle seine Stichproben zur selben Klasse gehören (bei der Klassifizierung) oder nahezu den gleichen numerischen Wert haben (bei der Regression).

Immer wenn Sie eine Kandidatenaufteilung anhand eines Merkmals auswählen, betrachtet der Algorithmus die von ihm erzeugten Kindknoten und fragt: „Wie stark sind die Bezeichnungen (oder Werte) in jedem Kind vermischt?“ Eine gute Aufteilung ist eine solche, die Kindknoten erzeugt, die wesentlich weniger unrein sind als der Elternknoten, was bedeutet, dass die Daten innerhalb jedes Kindknotens in Bezug auf das Ziel homogener sind.

Bei Entscheidungsbäumen wird die Unreinheit üblicherweise anhand von Kriterien wie dem Gini-Koeffizienten oder der Entropie gemessen. Beide erfassen, wie wahrscheinlich es ist, dass eine zufällig ausgewählte Beobachtung in diesem Knoten falsch klassifiziert würde, wenn wir einfach die Mehrheitsklasse vorhersagen würden. Bei Regressionsbäumen wird die Unreinheit üblicherweise mit dem quadratischen Fehler oder der Varianz gemessen, was widerspiegelt, wie stark die Zielwerte innerhalb des Knotens gestreut sind.

Gini-Index: Messung der Unreinheit in Klassifikationsbäumen

Der Gini-Koeffizient ist eines der am häufigsten verwendeten Unreinheitsmaße für Entscheidungsbäume, da er einfach zu berechnen ist und in der Praxis gut funktioniert. Konzeptionell misst es die Wahrscheinlichkeit, dass eine zufällig ausgewählte Beobachtung aus dem Knoten falsch klassifiziert würde, wenn ihre Bezeichnung gemäß der Bezeichnungsverteilung in diesem Knoten vorhergesagt würde.

Wenn ein Knoten Klassen mit Wahrscheinlichkeiten P enthält1, P2, …, PnDer Gini-Index wird wie folgt berechnet: Gini = 1 − Σ (Pi)². Wenn ein Knoten vollkommen rein ist (alle Beobachtungen gehören zur selben Klasse), ist eine der Wahrscheinlichkeiten 1 und die übrigen sind 0, sodass die Quadratsumme 1 und der Gini-Index 0 ist, was auf volle Reinheit hinweist.

Andererseits erreicht der Gini-Index sein Maximum, wenn die Klassen innerhalb des Knotens gleichmäßig verteilt sind, beispielsweise in einem binären Problem mit P1 = P2 = 0.5, woraus sich Gini = 1 − (0.5² + 0.5²) = 0.5 ergibt. In dieser Situation ist die Vorhersage der Mehrheitsklasse für diese Verteilung so schlecht wie nur möglich, da der Knoten jeweils die Hälfte jeder Klasse enthält.

Bei der Implementierung des Gini-Algorithmus im Code nimmt man typischerweise den Labelvektor für den Knoten, berechnet die Häufigkeit jeder Klasse, wandelt die Häufigkeiten in Wahrscheinlichkeiten um und wendet dann die Formel 1 − Σ p² an. Wenn Sie dies für mehrere Kandidatenaufteilungen durchführen, können Sie vergleichen, welche Aufteilung Kinder mit einer geringeren gewichteten durchschnittlichen Gini-Unreinheit hervorbringt, was genau das ist, was der Baum benötigt, um die beste Partition zu bestimmen.

Entropie: eine andere Sichtweise auf Klassifizierungsunreinheit

Die Entropie ist ein alternatives Unreinheitsmaß, das in der Informationstheorie und in frühen Baumalgorithmen wie ID3 und C4.5 weit verbreitet ist und das Ausmaß an Zufälligkeit oder Unsicherheit in der Klassenverteilung des Knotens erfasst. Während sich der Gini-Koeffizient auf die Wahrscheinlichkeit einer Fehlklassifizierung konzentriert, quantifiziert die Entropie die „Überraschung“, die mit dem Auftreten einer bestimmten Klasse bei einer gemischten Verteilung verbunden ist.

Gegebene Klassenwahrscheinlichkeiten p1, …, Pc Die Entropie eines Knotens S ist definiert als E(S) = − Σ pi log₂(pi). Ist der Knoten rein, so ist eine der Wahrscheinlichkeiten 1 und alle anderen sind 0, was die Summe zu Null macht (weil log₂(1) = 0), sodass die Entropie 0 ist, was auf keine Unsicherheit hinweist.

Wenn der Knoten eine gleichmäßige Verteilung von Klassen enthält, ist die Entropie maximal; für ein binäres Problem mit p1 =S2 = 0.5, die Entropie beträgt 1 Bit, was den höchstmöglichen Wert für zwei Klassen darstellt. Dieser Wert entspricht der maximalen Unsicherheit, was bedeutet, dass der Knoten unter dieser Verteilung so unrein ist, wie es nur sein kann.

Obwohl Gini und Entropie unterschiedliche Formeln verwenden und unterschiedliche Zahlenbereiche haben (Gini zwischen 0 und 0.5 für zwei Klassen, Entropie zwischen 0 und 1), messen beide im Wesentlichen dasselbe Konzept, sodass sie in der Praxis in der Regel zu sehr ähnlichen Bäumen führen. Berechnet man beides auf demselben Knoten, stellt man fest, dass ein hoher Gini-Koeffizient einer hohen Entropie entspricht und umgekehrt. Deshalb erlauben viele Bibliotheken die Wahl zwischen den beiden Werten, ohne die Leistung drastisch zu verändern.

Informationsgewinn und Auswahl der besten Aufteilungen

Um die beste Aufteilung unter vielen Kandidaten auszuwählen, verwendet der Baumalgorithmus eine Metrik namens Informationsgewinn, die misst, wie stark die Unreinheit abnimmt, wenn wir einen Knoten in seine Kinder aufteilen. Intuitiv betrachtet hat eine Aufteilung einen hohen Informationsgewinn, wenn die Kinder viel reiner sind als das Elternelement, was bedeutet, dass die Regel die Daten erfolgreich in aussagekräftigere Gruppen aufgeteilt hat.

Bei Entscheidungsbäumen, die Entropie verwenden, wird der Informationsgewinn einer Aufteilung als IG definiert.Einstufung = E(Elternteil) − Σ (|Sder| / |SElternteil|) · E(Sder). Man berechnet zuerst die Entropie des übergeordneten Knotens und subtrahiert dann die gewichtete durchschnittliche Entropie der untergeordneten Knoten, wobei die Gewichte deren relative Größen sind.

Bei Regressionsbäumen wird ein analoges Konzept verwendet, das die Varianz oder den mittleren quadratischen Fehler als Unreinheitsmaß verwendet und IG ergibt.Regression = Var(Elternteil) − Σ (|Sder| / |SElternteil|) · Var(Sder). In diesem Kontext ist eine gute Aufteilung eine solche, die die Variabilität der Zielwerte innerhalb jedes Kindes erheblich reduziert.

Der Baumtrainingsalgorithmus wertet diesen Informationsgewinn für jede mögliche Kandidatenaufteilung anhand jedes Merkmals aus und wählt dann die Aufteilung mit dem höchsten Gewinn aus, vorausgesetzt, sie überschreitet einen bestimmten Mindestschwellenwert, um nutzlose, winzige Verbesserungen zu vermeiden. Dieser Prozess wird dann rekursiv auf jedem Kindknoten wiederholt, bis bestimmte Abbruchkriterien erfüllt sind.

Wie man die beste Aufteilung für jedes Merkmal findet

Die Suche nach der besten Aufteilung anhand eines einzelnen Merkmals hängt davon ab, ob das Merkmal numerisch oder kategorisch ist, aber die Grundidee ist immer dieselbe: Kandidatenpartitionen aufzählen und ihren Informationsgewinn berechnen. Bei numerischen Merkmalen wird eine Partition durch einen Schwellenwert definiert; bei kategorialen Merkmalen wird sie durch die Gruppierung von Stufen in Teilmengen definiert.

Bei einem numerischen Prädiktor besteht die übliche Strategie darin, alle eindeutigen Werte zu betrachten, die dieses Merkmal im aktuellen Knoten annimmt, diese zu sortieren und dann Kandidatenschwellenwerte zwischen aufeinanderfolgenden Werten zu ermitteln. Für jeden Kandidatenschwellenwert c werden zwei Gruppen erstellt (x ≤ c und x > c), die Unreinheit jeder Gruppe berechnet und anschließend der Informationsgewinn ermittelt; der Schwellenwert, der den höchsten Gewinn liefert, ist die beste numerische Aufteilung für dieses Merkmal.

Bei kategorialen Prädiktoren ist der Suchraum komplexer, da prinzipiell jede beliebige Teilmenge von Kategorien die eine Seite der Aufteilung bilden könnte, während sich das Komplement auf der anderen Seite befände. Bei einem Merkmal mit K Kategorien gibt es viele mögliche Teilmengen (2K−1 − 1 nicht-triviale Partitionen), daher schränken Implementierungen in der Praxis diese Suche oft ein oder verwenden Heuristiken, insbesondere wenn K groß ist.

Sobald Sie die optimale Aufteilung für jedes Merkmal berechnet haben, vergleichen Sie deren Informationsgewinne und wählen das Merkmal und den Schwellenwert (oder die Kategorie-Teilmenge) aus, die dem maximalen Gewinn entsprechen. Diese gewählte Aufteilung wird zur Entscheidung am aktuellen Knoten, und der Trainingsprozess wird dann für jedes Kind mit der entsprechenden Teilmenge von Beobachtungen rekursiv wiederholt.

Steuerung des Baumwachstums durch Hyperparameter

Lässt man einen Entscheidungsbaum ohne Einschränkungen wachsen, teilt er sich immer weiter auf, bis jedes Blatt entweder vollkommen rein ist oder nur sehr wenige Beobachtungen enthält, was fast immer zu einer starken Überanpassung führt.Überanpassung gegen Unteranpassung). Um dies zu vermeiden, legt man eine Reihe von Hyperparametern fest, die die Tiefe und Komplexität des Baums steuern.

Ein häufig verwendeter Hyperparameter ist max_depth, der die maximale Anzahl von Ebenen begrenzt, die der Baum von der Wurzel bis zu einem beliebigen Blatt erreichen kann. Wenn max_depth auf None (oder eine sehr große Zahl) gesetzt ist, kann der Baum so lange weiterwachsen, wie andere Einschränkungen erfüllt sind; ist er klein, bleibt der Baum flach und ist besser interpretierbar, kann aber zu einer Unteranpassung führen.

Ein weiterer wichtiger Hyperparameter ist min_samples_split, der die Mindestanzahl an Beobachtungen angibt, die ein Knoten enthalten muss, bevor er aufgeteilt werden darf. Wenn ein Knoten weniger Stichproben als diesen Schwellenwert aufweist, wird er in ein Blatt umgewandelt, wodurch verhindert wird, dass das Modell Rauschen in sehr kleinen Datenteilmengen verfolgt.

Sie können auch einen minimalen Informationsgewinn (min_information_gain) erzwingen, sodass der Algorithmus nur dann eine Aufteilung durchführt, wenn dadurch eine sinnvolle Verbesserung bei der Reduzierung der Verunreinigungen erzielt wird. Dadurch wird vermieden, unnötige Verzweigungen zu erzeugen, die die Vorhersagen kaum verändern und lediglich die Baumstruktur verkomplizieren.

Einen Entscheidungsbaum von Grund auf im Code erstellen

Die Implementierung eines Entscheidungsbaums von Grund auf dreht sich üblicherweise um eine kleine Menge von Kernfunktionen, die rekursiv aufgerufen werden. Während Bibliotheken wie scikit‐learn oder rpart all dies im Hintergrund erledigen, macht das Selberprogrammieren dieser Schritte die Logik viel deutlicher (Programmierlogik) und gibt Ihnen die volle Kontrolle über das Verhalten.

Zunächst benötigen Sie eine Routine, die, ausgehend von den aktuellen Daten an einem Knoten, jedes Merkmal und jede Kandidatenaufteilung auswertet, um diejenige mit dem höchsten Informationsgewinn zu finden. Diese Funktion gibt das ausgewählte Merkmal, die Aufteilungsregel (Schwellenwert oder Teilmenge von Kategorien), den Verstärkungswert und die boolesche Maske oder Indexsätze zurück, die angeben, welche Stichproben nach links und welche nach rechts gehören.

Zweitens benötigen Sie eine Vorhersagefunktion für Blattknoten, die die Menge der Zielwerte in diesem Knoten in eine einzelne Vorhersage umwandelt. Bei der Regression ist dies typischerweise der Mittelwert von y in diesem Knoten; bei der Klassifizierung nimmt man üblicherweise den Modus (die häufigste Klasse) und speichert gegebenenfalls auch die Klassenwahrscheinlichkeiten, wenn man probabilistische Ausgaben wünscht.

Drittens erstellen Sie eine rekursive Trainingsfunktion, die die Abbruchkriterien prüft, nach der besten Aufteilung sucht, falls zulässig, und dann Kindknoten erstellt, indem sie sich selbst auf der linken und rechten Teilmenge aufruft. Wenn die Bedingungen für die minimale Stichprobengröße, die maximale Tiefe oder den minimalen Gewinn nicht erfüllt sind, stoppt die Funktion die Aufteilung und speichert stattdessen eine Blattvorhersage.

Wie Vorhersagen in einem trainierten Entscheidungsbaum funktionieren

Sobald Ihr Entscheidungsbaum trainiert ist und Sie alle Aufteilungsregeln und Blattvorhersagen gespeichert haben, ist die Vorhersage für eine neue Beobachtung einfach eine Frage des Durchlaufens des Baums von der Wurzel bis zu einem Blatt. An jedem internen Knotenpunkt wird das erforderliche Merkmal geprüft und getestet, ob die Beobachtung die Bedingung des Knotenpunkts erfüllt.

Ist die Aufteilungsregel numerisch, wird geprüft, ob der Merkmalswert kleiner oder gleich dem Schwellenwert ist; ist die Aufteilungsregel kategorisch, wird geprüft, ob die Kategorie zu einer bestimmten Teilmenge gehört. Je nach Ergebnis folgen Sie dem entsprechenden Zweig (zum Beispiel „ja“ nach links, „nein“ nach rechts) und wiederholen diesen Vorgang am nächsten Knoten.

Sie steigen im Baum so lange abwärts, bis Sie einen Knoten ohne Kinder erreichen. Dies ist ein Blatt, das einen konstanten Ausgabewert oder eine Klassenbezeichnung speichert. Bei einem Regressionsbaum ist die Vorhersage eine Zahl, wie zum Beispiel eine geschätzte Lebenserwartung oder Kraftstoffeffizienz; bei einem Klassifikationsbaum ist die Ausgabe eine vorhergesagte Kategorie, wie zum Beispiel „überlebt“ oder „nicht überlebt“.

Wenn Sie diesen Ansatz mit denselben Daten testen, die Sie zum Training verwendet haben, werden Sie oft eine recht hohe Genauigkeit bei der Klassifizierung feststellen (zum Beispiel etwa 85 % bei einigen einfachen Beispielen im Stil von Fettleibigkeit oder der Titanic). Diese Genauigkeit kann jedoch bei unbekannten Daten sinken, wenn Ihr Entscheidungsbaum zu tief ist. Genau deshalb ist die Kontrolle von Baumtiefe und -größe so wichtig, und deshalb wurden Ensembles wie Random Forests erfunden, um Baumvorhersagen zu stabilisieren.

Praktische Arbeit mit Regressionsbäumen

Regressionsbäume sind besonders nützlich, wenn die Beziehung zwischen Prädiktoren und der Zielgröße stark nichtlinear ist und Wechselwirkungen beinhaltet, die sich mit klassischer linearer Regression nur schwer modellieren lassen. Anstatt zu versuchen, eine einzige globale Gleichung anzupassen, unterteilt der Baum den Merkmalsraum in Regionen und passt innerhalb jeder Region ein einfaches konstantes Modell an.

In R ermöglichen beliebte Pakete wie rpart und tree die einfache Erstellung von Regressionsbäumen mit einem einzigen Funktionsaufruf, indem eine Formel wie y ~ x1 + x2 + … + x11 angegeben wird. Diese Pakete wurden von der ursprünglichen CART-Methodik beeinflusst, die von Breiman und Kollegen beschrieben wurde, und sie implementieren viele der in der modernen baumbasierten Modellierung üblichen Splitting- und Pruning-Ideen.

Beispielsweise können Sie mit dem rpart-Paket eine Antwortvariable y auf Basis von elf Kovariaten x1 bis x11 modellieren, die Daten von fehlenden Werten bereinigen und dann den resultierenden Baum mit Hilfsfunktionen wie prp aus dem rpart.plot-Paket visualisieren. Die Endknoten zeigen den vorhergesagten y-Wert für jede Region an, den Sie direkt für neue Beobachtungen verwenden können.

Bei einem trainierten Regressionsbaum können neue Kovariatenwerte wie x9 = 70, x2 = 100 oder x9 = 60, x2 = 150 in die Vorhersagefunktion eingegeben werden, um Schätzwerte ŷ zu erhalten (zum Beispiel etwa 20 oder 28 in einem Beispiel zum Kraftstoffverbrauch). Vergleicht man diese Vorhersagen mit den beobachteten Werten, beispielsweise durch Korrelation zwischen y und ŷ, so erhält man einen schnellen Eindruck davon, wie gut der Baum das zugrunde liegende Muster erfasst, selbst wenn der Datensatz relativ klein ist.

Von einzelnen Bäumen zu zufälligen Wäldern

Ein einzelner Entscheidungsbaum ist zwar leistungsstark, reagiert aber bekanntermaßen sehr empfindlich auf die Besonderheiten der Trainingsdaten, was zu einer hohen Varianz führen kann (Voreingenommenheit und Varianzund Überanpassung. Um dem entgegenzuwirken, erstellen Random Forests viele Bäume auf Basis von Bootstrap-Stichproben der Daten und aggregieren deren Vorhersagen, wodurch ein stabileres und in der Regel genaueres Modell entsteht.

Bei einem Random Forest wird jeder Baum anhand einer Bootstrap-Stichprobe trainiert. Das bedeutet, dass ein neuer Datensatz gleicher Größe aus dem ursprünglichen Trainingsdatensatz mit Zurücklegen gezogen wird. Durch dieses Stichprobenverfahren erhält jeder Baum einen etwas anderen Datensatz, sodass ihre Fehler weniger korreliert sind und sich bei der Aggregation gegenseitig aufheben können.

Darüber hinaus führen Random Forests Zufälligkeit in den Merkmalsauswahlprozess ein, indem sie bei jeder Aufteilung nur eine zufällige Teilmenge der Prädiktoren berücksichtigen, anstatt alle Prädiktoren. Dies verringert die Korrelation zwischen den Bäumen zusätzlich, erhöht die Diversität im Wald und trägt dazu bei, die Varianz zu verringern, ohne die Verzerrung zu sehr zu erhöhen.

Die Kombination aus Bootstrapping und Aggregation von Vorhersagen wird als Bagging bezeichnet. Bei Random Forests erhält man außerdem eine interne Schätzung des Modellfehlers, indem man jeden Baum anhand der Datenpunkte auswertet, die nicht in seiner Bootstrap-Stichprobe enthalten waren (die sogenannten Out-of-Bag-Beobachtungen). Dieser Out-of-Bag-Fehler bietet eine bequeme Möglichkeit, die Leistung zu messen, ohne dass ein separater Validierungsdatensatz benötigt wird.

Obwohl sich dieser Artikel auf den Aufbau eines einzelnen Baums von Grund auf konzentriert, erleichtert das Verständnis der Funktionsweise dieser grundlegenden Komponente das Verständnis dafür, wie Ensembles wie Random Forests, Gradient Boosting und andere baumbasierte Methoden auf denselben Prinzipien aufbauen, um in vielen angewandten Problemen Spitzenleistungen zu erzielen.

Zusammenfassend lässt sich sagen, dass die Entscheidungsbaumregression von Grund auf zeigt, wie ein einfacher Satz von Regeln, Kostenfunktionen und rekursiven Aufteilungen komplexe Zusammenhänge modellieren kann, egal ob man ein binäres Ergebnis wie das Überleben, eine kategoriale Bezeichnung wie den Adipositasstatus oder ein numerisches Ziel wie die Lebenserwartung oder den Kraftstoffverbrauch vorhersagt. Dieses tiefe Verständnis bildet eine solide Grundlage für die praktische Anwendung fortgeschrittenerer baumbasierter Techniken.

Überanpassung gegen Unteranpassung
Verwandte Artikel:
Überanpassung vs. Unteranpassung: Vollständiger Leitfaden mit Schlüsseln, Ursachen und Lösungen
Zusammenhängende Posts: