Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Überanpassung | Auswahl des Besten Modells
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, aber unbekannte Fälle 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 fehlerhaft.

Daher kann versucht werden, visuell zu beurteilen, ob das Modell underfittet oder overfittet.

Es ist bereits bekannt, dass Multiple Lineare Regression mit vielen Merkmalen nicht visualisiert werden kann. Gibt es eine andere Möglichkeit festzustellen, ob das Modell overfittet oder underfittet? Tatsächlich gibt es diese.

Aufteilung in Trainings- und Testdaten

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 Trainingssatz und einen Testsatz.

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

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

Zum Beispiel kann man den Trainingsdatensatz im Verhältnis 70 % Training/30 % Test aufteilen, indem man folgenden Code verwendet:

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

Bestimmen Sie anhand der MSE-Werte der Modelle, ob sie den Trainingsdatensatz überanpassen oder 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

Suggested prompts:

What are some common signs of overfitting and underfitting in a model?

How does the train-test split help prevent overfitting?

Can you explain how to interpret the results after splitting the data into training and test sets?

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, aber unbekannte Fälle 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 fehlerhaft.

Daher kann versucht werden, visuell zu beurteilen, ob das Modell underfittet oder overfittet.

Es ist bereits bekannt, dass Multiple Lineare Regression mit vielen Merkmalen nicht visualisiert werden kann. Gibt es eine andere Möglichkeit festzustellen, ob das Modell overfittet oder underfittet? Tatsächlich gibt es diese.

Aufteilung in Trainings- und Testdaten

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 Trainingssatz und einen Testsatz.

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

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

Zum Beispiel kann man den Trainingsdatensatz im Verhältnis 70 % Training/30 % Test aufteilen, indem man folgenden Code verwendet:

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

Bestimmen Sie anhand der MSE-Werte der Modelle, ob sie den Trainingsdatensatz überanpassen oder 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