Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Überanpassung Bei Entscheidungsbäumen Verhindern | Entscheidungsbaum
Klassifikation mit Python

Überanpassung Bei Entscheidungsbäumen Verhindern

Swipe um das Menü anzuzeigen

Bevor wir mit der Implementierung eines Entscheidungsbaums in Python beginnen, gibt es ein wichtiges Thema zu besprechen: Overfitting – die zentrale Herausforderung bei Entscheidungsbäumen.

meme+friends

Nachfolgend ein Beispiel dafür, wie der Entscheidungsbaum den Datensatz anpasst. Es ist zu erkennen, wie das Modell auf die Trainingsdaten eingeht und deren Muster sowie Feinheiten erfasst:

EntscheidungsgrenzeBaum

Obwohl das Modell das Trainingsset perfekt abbildet und keine Instanzen falsch klassifiziert, besteht das Problem darin, dass die Entscheidungsgrenzen zu komplex sind. Daher wird die Genauigkeit auf dem Test- (oder Cross-Validation-) Datensatz deutlich niedriger sein als die Genauigkeit auf dem Trainingsset, was darauf hinweist, dass das Modell überanpasst.

Der Grund dafür ist, dass das Modell so viele Aufteilungen wie nötig vornimmt, um die Trainingsdaten perfekt abzubilden.

Glücklicherweise ist der Entscheidungsbaum sehr konfigurierbar, sodass wir seine Hyperparameter anpassen können, um Überanpassung zu minimieren.

Maximale Baumtiefe

Tiefe eines Knotens ist der (vertikale) Abstand vom Knoten zum Wurzelknoten.

Baumtiefe

Die maximale Tiefe eines Entscheidungsbaums kann begrenzt werden, wodurch der Baum kleiner wird und weniger zur Überanpassung neigt. Dazu werden die Entscheidungsnoten auf der maximalen Tiefe in Blattknoten umgewandelt.

Baumtiefe-Animation

Hier ist außerdem ein GIF, das zeigt, wie sich die Entscheidungsgrenze bei unterschiedlichen maximalen Tiefenwerten verändert:

DecisionBoundaryTreeAnimation

Minimale Anzahl von Stichproben

Eine weitere Möglichkeit, den Baum einzuschränken, besteht darin, die minimale Anzahl von Stichproben an den Blattknoten festzulegen. Dadurch wird das Modell einfacher und robuster gegenüber Ausreißern.

TreeDepthAnimationLeaf

Hier ist zu sehen, wie dieser Hyperparameter die Entscheidungsgrenze beeinflusst:

DecisionBoundaryTreeLeaf

Beide dieser Hyperparameter sind in der scikit-learn Decision Tree-Implementierung verfügbar.
Standardmäßig ist der Baum nicht eingeschränkt: max_depth ist auf None gesetzt, was bedeutet, dass es keine Begrenzung der Tiefe gibt, und min_samples_leaf ist auf 1 gesetzt.

question mark

Wähle die FALSCHE Aussage aus.

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3

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 3. Kapitel 3
some-alt