Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Überanpassung | Das Beste Modell Auswählen
Lineare Regression mit Python
course content

Kursinhalt

Lineare Regression mit Python

Lineare Regression mit Python

1. Einfache Lineare Regression
2. Multiple Lineare Regression
3. Polynomiale Regression
4. Das Beste Modell Auswählen

book
Überanpassung

Überanpassung

Betrachten Sie die beiden Regressionslinien unten. Welche ist besser?

Nun, die Metriken sagen uns, dass die zweite besser ist. Dann lass uns diese verwenden, um neue Werte vorherzusagen! Wir benötigen die Vorhersagen für X_new = [0.2,0.5,2.7]. Aber als wir die tatsächlichen Zielwerte für die X_new, die wir gerade vorhergesagt haben, erhielten, stellte sich heraus, dass das erste Modell eine viel bessere Vorhersage hatte.

Das liegt daran, dass das zweite Modell das Trainingsset überanpasst. Überanpassung tritt auf, wenn das erstellte Modell zu komplex ist, sodass es die Trainingsdaten perfekt anpassen kann, aber unbekannte Instanzen nicht so gut vorhersagt.

Unteranpassung

Es gibt auch noch ein weiteres Konzept, die Unteranpassung. Sie tritt auf, wenn das erstellte Modell zu einfach ist, sodass es nicht einmal die Trainingsdaten gut anpasst. In solchen Fällen sind die Vorhersagen der unbekannten Instanzen ebenfalls falsch.

So können wir versuchen, visuell zu erkennen, ob das Modell unteranpasst oder überanpasst.

Wir wissen bereits, dass wir Multiple Lineare Regression mit vielen Merkmalen nicht visualisieren können. Gibt es eine andere Möglichkeit festzustellen, ob das Modell überanpasst oder unteranpasst ist? Es stellt sich heraus, dass es eine gibt.

Train-Test-Split

Wir möchten wissen, wie das Modell bei unbekannten Instanzen abschneiden wird. Dafür benötigen wir die unbekannten Instanzen mit den tatsächlichen Zielwerten. Und wir haben nur tatsächliche Zielwerte im Trainingssatz. Der Weg ist, den Trainingssatz in zwei Sätze zu teilen, einen Trainingssatz und einen Testsatz.

Jetzt können wir das Modell mit dem Trainingssatz erstellen, die Metriken auf dem Trainingssatz (gesehenen Instanzen) berechnen und dann die Metriken auf dem Testsatz (ungesehenen Instanzen) berechnen.

Es ist wichtig, den Trainingssatz zufällig zu teilen. Normalerweise möchten Sie etwa 20-30% Ihres Trainingssatzes für den Testsatz verwenden, und die anderen 70-80% bleiben als Trainingssatz. Scikit-learn bietet eine einfache Funktion zum zufälligen Teilen des Satzes:

Zum Beispiel, um den Trainingssatz in 70% Training/30% Test zu teilen, können Sie den folgenden Code verwenden:

question-icon

Basierend auf den MSE-Werten der Modelle herausfinden, ob sie den Trainingssatz überanpassen/unteranpassen (Datensatz ist derselbe).

Model 1: Training set's MSE=0.2, Test set's MSE=0.215 .
Model 2: Training set's MSE=0.14, Test set's MSE=0.42
.
Model 3: Training set's MSE=0.5, Test set's MSE=0.47
.

Click or drag`n`drop items and fill in the blanks

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 2
We're sorry to hear that something went wrong. What happened?
some-alt