Validierungskurven: Plotten von Scores zur Modellbewertung

Machine LearningMachine LearningBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/linear_model("Linear Models") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/model_selection("Model Selection") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/linear_model -.-> lab-71125{{"Validierungskurven: Plotten von Scores zur Modellbewertung"}} sklearn/model_selection -.-> lab-71125{{"Validierungskurven: Plotten von Scores zur Modellbewertung"}} sklearn/datasets -.-> lab-71125{{"Validierungskurven: Plotten von Scores zur Modellbewertung"}} ml/sklearn -.-> lab-71125{{"Validierungskurven: Plotten von Scores zur Modellbewertung"}} end

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.