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

bookÜberanpassung in Entscheidungsbäumen Verhindern

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

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

Obwohl das Modell das Trainingsset perfekt anpasst und keine Instanzen falsch klassifiziert, besteht das Problem darin, dass die Entscheidungsgrenzen zu komplex sind. Folglich wird die Genauigkeit auf dem Test- (oder Cross-Validation-) Datensatz deutlich niedriger sein als die Genauigkeit auf dem Trainingsdatensatz, 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 zu erfassen.

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

Maximale Baumtiefe

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

Wir können die maximale Tiefe eines Entscheidungsbaums begrenzen, wodurch dieser kleiner wird und weniger wahrscheinlich überanpasst. Dazu werden die Entscheidungsknoten auf einer maximalen Tiefe in Blattknoten umgewandelt.

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

Minimale Anzahl von Stichproben

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

Die Auswirkung dieses Hyperparameters auf die Entscheidungsgrenze ist sichtbar:

Beide dieser Hyperparameter sind in der Decision Tree-Implementierung von scikit-learn 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ählen Sie die FALSCHE Aussage aus.

Select the correct answer

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

Suggested prompts:

Can you explain more about overfitting and why it's a problem for Decision Trees?

How do I choose the right values for max_depth and min_samples_leaf?

What other hyperparameters can help prevent overfitting in Decision Trees?

Awesome!

Completion rate improved to 4.17

bookÜberanpassung in 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 im Zusammenhang mit Entscheidungsbäumen.

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

Obwohl das Modell das Trainingsset perfekt anpasst und keine Instanzen falsch klassifiziert, besteht das Problem darin, dass die Entscheidungsgrenzen zu komplex sind. Folglich wird die Genauigkeit auf dem Test- (oder Cross-Validation-) Datensatz deutlich niedriger sein als die Genauigkeit auf dem Trainingsdatensatz, 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 zu erfassen.

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

Maximale Baumtiefe

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

Wir können die maximale Tiefe eines Entscheidungsbaums begrenzen, wodurch dieser kleiner wird und weniger wahrscheinlich überanpasst. Dazu werden die Entscheidungsknoten auf einer maximalen Tiefe in Blattknoten umgewandelt.

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

Minimale Anzahl von Stichproben

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

Die Auswirkung dieses Hyperparameters auf die Entscheidungsgrenze ist sichtbar:

Beide dieser Hyperparameter sind in der Decision Tree-Implementierung von scikit-learn 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ählen Sie die FALSCHE Aussage aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
some-alt