Grid -Suche CV in Sklearn

Grid -Suche CV in Sklearn

„Die Variablen eines maschinellen Lernmodells, die bestimmen, wie die Parameter eingestellt werden, werden als Hyperparameter bezeichnet. Das Problem der Auswahl einer Gruppe idealer Hyperparameter für einen Lernalgorithmus wird als Hyperparameter -Tuning bezeichnet. Die Hyperparameter können manuell oder automatisch konfiguriert werden. Für diese Optimierung stehen zahlreiche Algorithmen zur Verfügung. Eine solche Methode, GridSearchCV, wird in diesem Blog behandelt.”

Was sind Hyperparameter??

Wir können Modellparameter anpassen, indem wir vorhandene Daten verwenden, um ein Modell zu trainieren. Eine andere Klasse von Parametern kann nicht sofort durch Routinetraining gelernt werden. Diese Parameter repräsentieren die „höheren“ Eigenschaften des Modells wie Komplexität und Lernrate. Hyperparameter ist der Begriff für sie. In der Regel werden Hyperparameter vor Beginn des Trainings angepasst.

Was ist Gridsuche CV?

Die Grid -Suche bewertet die Leistung für jede mögliche Kombination der Hyperparameter und ihrer Werte, wählt die Kombination mit der besten Leistung aus und nimmt diese Kombination als Ausgangspunkt an. Bei so vielen Hyperparametern wird die Verarbeitung zeitaufwändig und teuer. Die Kreuzvalidierung erfolgt zusätzlich zur Grid-Suche in GridSearchCV. Die Kreuzvalidierung wird verwendet, während das Modell geschult wird, um die Ergebnisse gegen einen Datensatz zu validieren.

Gittersuche über zwei Hyperparameter (Quelle: Wikipedia)

Wie funktioniert Grid -Such??

In seiner grundlegendsten Form ist die Grid -Suche eine Methode, die Brute Force verwendet, um Hyperparameter abzuschätzen. Nehmen wir an, Sie haben K Hyperparameter, und es gibt CI -mögliche Werte für jede von ihnen. Ein kartesisches Produkt dieser potenziellen Werte zu nehmen, ist im Wesentlichen die Grid -Suche. Obwohl die Gittersuche stark ineffizient erscheinen kann, kann sie mithilfe der parallele Verarbeitung beschleunigt werden.

Implementierung der Gittersuche in Sklearn

# Importieren der Bibliotheken und Klassen
von sklearn import SVM, Datensätze
von Sklearn.Modell_Selection Import GridSearchCV
# Laden des Iris -Datensatzes
Data = Datensätze.load_iris ()
# Angabe des Parameterraums und des Algorithmus
Parameter = 'Kernel' :( 'linear', 'rbf'), 'c': [5, 20]
# Erstellen des Modells
SVC = SVM.SVC ()
# Erstellen von GridSearch -Instanz
Clf = GridSearchCV (SVC, Parameter)
# Das Modell anpassen
drucken (clf.fit (Daten.Daten, Daten.Ziel))
# Drucken die Ergebnisse
drucken (clf.cv_results_.Schlüssel())

Ausgang

GridSearchCV (Schätzer = SVC (),
param_grid = 'c': [5, 20], 'kernel': ('linear', 'rbf'))
dict_keys(['mean_fit_time', 'std_fit_time', 'mean_score_time', 'std_score_time', 'param_C', 'param_kernel', 'params', 'split0_test_score', 'split1_test_score', 'split2_test_score', 'split3_test_score', 'split4_test_score' , 'Mean_test_Score', 'std_test_score', 'Rank_test_Score'])

Abschluss

In diesem Artikel wurde darüber gesprochen, wie Hyperparameter mit GridSearchCV und seiner Implementierung eingestellt werden können. Im maschinellen Lernen sind Hyperparameter Parameter, die der Benutzer direkt definiert, um den Lernprozess zu regulieren. Diese Hyperparameter werden verwendet, um den Lernprozess des Modells zu verbessern. Die Hyperparameterabstimmung umfasst die Bestimmung der idealen Werte für verschiedene Parameter. Sklearn bietet die Klasse „Modusauswahl“, mit der wir Gittersuchinstanzen generieren und für unsere Zwecke verwenden können.