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

bookÜberanpassung

Overfitting

Betrachten Sie die beiden Regressionslinien unten. Welche ist besser?

Die Metriken zeigen, dass die zweite besser ist. Also verwenden wir sie, um neue Werte vorherzusagen! Wir benötigen die Vorhersagen für X_new = [0.2,0.5,2.7]. Doch als wir die tatsächlichen Zielwerte für das vorhergesagte X_new erhielten, stellte sich heraus, dass das erste Modell eine deutlich bessere Vorhersage lieferte.

Das liegt daran, dass das zweite Modell das Trainingsset überanpasst. Overfitting bedeutet, dass das erstellte Modell zu komplex ist und die Trainingsdaten perfekt abbildet, jedoch unbekannte Instanzen nicht gut vorhersagen kann.

Underfitting

Es gibt noch ein weiteres Konzept, Underfitting. Dies tritt auf, wenn das erstellte Modell so einfach ist, dass es nicht einmal die Trainingsdaten gut abbildet. In solchen Fällen sind auch die Vorhersagen für unbekannte Instanzen falsch.

Daher können wir versuchen, visuell zu beurteilen, ob das Modell underfittet oder overfittet.

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 overfittet oder underfittet? Tatsächlich gibt es diese.

Train-Test-Split

Es ist wichtig zu wissen, wie das Modell bei unbekannten Instanzen abschneidet. Dafür werden unbekannte Instanzen mit den tatsächlichen Zielwerten benötigt. Diese tatsächlichen Zielwerte liegen jedoch nur im Trainingsdatensatz vor. Daher wird der Trainingsdatensatz in zwei Teile aufgeteilt: einen Trainingsdatensatz und einen Testdatensatz.

Das Modell kann nun mit dem Trainingsdatensatz erstellt werden. Anschließend werden die Metriken sowohl auf dem Trainingsdatensatz (bekannte Instanzen) als auch auf dem Testdatensatz (unbekannte Instanzen) berechnet.

Es ist entscheidend, den Trainingsdatensatz zufällig zu teilen. In der Regel werden etwa 20–30 % des Trainingsdatensatzes als Testdatensatz verwendet, während die verbleibenden 70–80 % als Trainingsdatensatz dienen. Scikit-learn stellt eine einfache Funktion zur Verfügung, um die Aufteilung zufällig vorzunehmen:

Zum Beispiel kann das Trainingsset im Verhältnis 70 % Training/30 % Test wie folgt aufgeteilt werden:

from sklearn.model_selection import train_test_split # import the function
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
question-icon

Anhand der MSE-Werte der Modelle bestimmen, ob sie das Trainingsset ü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

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 5.26

bookÜberanpassung

Swipe um das Menü anzuzeigen

Overfitting

Betrachten Sie die beiden Regressionslinien unten. Welche ist besser?

Die Metriken zeigen, dass die zweite besser ist. Also verwenden wir sie, um neue Werte vorherzusagen! Wir benötigen die Vorhersagen für X_new = [0.2,0.5,2.7]. Doch als wir die tatsächlichen Zielwerte für das vorhergesagte X_new erhielten, stellte sich heraus, dass das erste Modell eine deutlich bessere Vorhersage lieferte.

Das liegt daran, dass das zweite Modell das Trainingsset überanpasst. Overfitting bedeutet, dass das erstellte Modell zu komplex ist und die Trainingsdaten perfekt abbildet, jedoch unbekannte Instanzen nicht gut vorhersagen kann.

Underfitting

Es gibt noch ein weiteres Konzept, Underfitting. Dies tritt auf, wenn das erstellte Modell so einfach ist, dass es nicht einmal die Trainingsdaten gut abbildet. In solchen Fällen sind auch die Vorhersagen für unbekannte Instanzen falsch.

Daher können wir versuchen, visuell zu beurteilen, ob das Modell underfittet oder overfittet.

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 overfittet oder underfittet? Tatsächlich gibt es diese.

Train-Test-Split

Es ist wichtig zu wissen, wie das Modell bei unbekannten Instanzen abschneidet. Dafür werden unbekannte Instanzen mit den tatsächlichen Zielwerten benötigt. Diese tatsächlichen Zielwerte liegen jedoch nur im Trainingsdatensatz vor. Daher wird der Trainingsdatensatz in zwei Teile aufgeteilt: einen Trainingsdatensatz und einen Testdatensatz.

Das Modell kann nun mit dem Trainingsdatensatz erstellt werden. Anschließend werden die Metriken sowohl auf dem Trainingsdatensatz (bekannte Instanzen) als auch auf dem Testdatensatz (unbekannte Instanzen) berechnet.

Es ist entscheidend, den Trainingsdatensatz zufällig zu teilen. In der Regel werden etwa 20–30 % des Trainingsdatensatzes als Testdatensatz verwendet, während die verbleibenden 70–80 % als Trainingsdatensatz dienen. Scikit-learn stellt eine einfache Funktion zur Verfügung, um die Aufteilung zufällig vorzunehmen:

Zum Beispiel kann das Trainingsset im Verhältnis 70 % Training/30 % Test wie folgt aufgeteilt werden:

from sklearn.model_selection import train_test_split # import the function
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
question-icon

Anhand der MSE-Werte der Modelle bestimmen, ob sie das Trainingsset ü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
some-alt