Ü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)
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 5.26
Ü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)
Danke für Ihr Feedback!