Einführung
Beim maschinellen Lernen hat jeder Schätzer seine Vor- und Nachteile. Der Verallgemeinerungsfehler eines Schätzers kann in Bias, Varianz und Rauschen zerlegt werden. Der Bias eines Schätzers ist der durchschnittliche Fehler für verschiedene Trainingssets, während die Varianz seine Empfindlichkeit gegenüber unterschiedlichen Trainingssets anzeigt. Rauschen ist eine Eigenschaft der Daten.
In diesem Lab werden wir untersuchen, wie man Validierungskurven verwendet, um die Leistung von maschinellen Lernmodellen zu evaluieren. Validierungskurven ermöglichen es uns, die Auswirkungen eines einzelnen Hyperparameters auf die Trainingsbewertung und die Validierungsbewertung zu visualisieren, was uns hilft, zu bestimmen, ob das Modell für verschiedene Hyperparameterwerte überangepasst oder unterangepasst ist.
Tipps für die VM
Nachdem die VM gestartet ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.
Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen von Jupyter Notebook nicht automatisiert werden.
Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.
Importieren der erforderlichen Bibliotheken und Laden der Daten
Lassen Sie uns beginnen, indem wir die erforderlichen Bibliotheken importieren und einen Datensatz laden. In diesem Beispiel verwenden wir den Iris-Datensatz.
import numpy as np
from sklearn.model_selection import validation_curve
from sklearn.datasets import load_iris
from sklearn.linear_model import Ridge
np.random.seed(0)
X, y = load_iris(return_X_y=True)
Mischen Sie die Daten
Um die Zufälligkeit in unserer Analyse zu gewährleisten, mischen wir die Reihenfolge der Proben in unserem Datensatz.
indices = np.arange(y.shape[0])
np.random.shuffle(indices)
X, y = X[indices], y[indices]
Zeichnen Sie die Validierungskurve
Lassen Sie uns jetzt die Validierungskurve mit der Funktion validation_curve zeichnen. Wir werden den Schätzer Ridge verwenden und den Hyperparameter alpha über einen Bereich von Werten variieren.
param_range = np.logspace(-7, 3, 3)
train_scores, valid_scores = validation_curve(
Ridge(), X, y, param_name="alpha", param_range=param_range, cv=5)
Zusammenfassung
In diesem Lab haben wir das Konzept von Validierungskurven untersucht und wie diese zur Evaluierung von maschinellen Lernmodellen verwendet werden können. Indem wir die Trainingsbewertung und die Validierungsbewertung für verschiedene Hyperparameterwerte zeichnen, können wir bestimmen, ob ein Modell überangepasst oder unterangepasst ist. Diese Informationen helfen uns, die besten Hyperparameter für unsere Modelle auszuwählen und deren Leistung zu verbessern.