Herausforderung: Abstimmung von Hyperparametern mit RandomizedSearchCV
Das Prinzip von RandomizedSearchCV ähnelt dem von GridSearchCV, jedoch wird anstelle jeder möglichen Kombination nur eine zufällig ausgewählte Teilmenge bewertet.
Zum Beispiel enthält das folgende param_grid 100 Kombinationen:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
GridSearchCV würde alle 100 testen, was zeitaufwendig ist. RandomizedSearchCV kann stattdessen eine kleinere Teilmenge bewerten, z. B. 20 zufällig ausgewählte Kombinationen. Dies reduziert die Rechenzeit und liefert in der Regel Ergebnisse, die nahe am Optimum liegen.
Die Anzahl der zu testenden Kombinationen wird durch das Argument n_iter gesteuert (Standardwert ist 10). Ansonsten ist die Verwendung identisch mit GridSearchCV.
Swipe to start coding
Ein vorverarbeiteter Pinguin-Datensatz steht für das Modelltraining bereit.
Das Ziel ist es, die Hyperparameter eines KNeighborsClassifier-Modells mithilfe von Grid Search und Randomized Search Methoden zu optimieren.
- Definition des Parametergrids mit dem Namen
param_gridmit den gewünschten Werten fürn_neighbors,weightsundp. - Initialisierung eines
RandomizedSearchCV-Objekts mit dem definierten Parametergrid und Einstellung vonn_iter=20. - Initialisierung eines
GridSearchCV-Objekts mit demselben Parametergrid. - Training beider Suchobjekte auf dem Datensatz mit der Methode
.fit(X, y). - Ausgabe des besten Schätzers aus der Grid Search mit
.best_estimator_. - Ausgabe des besten Kreuzvalidierungs-Scores aus der Randomized Search mit
.best_score_.
Lösung
Der Code kann mehrmals ausgeführt werden. Die Unterschiede zwischen den beiden Scores beobachten. Manchmal können die Scores identisch sein, da die besten Parameter unter den von RandomizedSearchCV ausgewählten Kombinationen enthalten sind.
Danke für Ihr Feedback!
single
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 3.13
Herausforderung: Abstimmung von Hyperparametern mit RandomizedSearchCV
Swipe um das Menü anzuzeigen
Das Prinzip von RandomizedSearchCV ähnelt dem von GridSearchCV, jedoch wird anstelle jeder möglichen Kombination nur eine zufällig ausgewählte Teilmenge bewertet.
Zum Beispiel enthält das folgende param_grid 100 Kombinationen:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
GridSearchCV würde alle 100 testen, was zeitaufwendig ist. RandomizedSearchCV kann stattdessen eine kleinere Teilmenge bewerten, z. B. 20 zufällig ausgewählte Kombinationen. Dies reduziert die Rechenzeit und liefert in der Regel Ergebnisse, die nahe am Optimum liegen.
Die Anzahl der zu testenden Kombinationen wird durch das Argument n_iter gesteuert (Standardwert ist 10). Ansonsten ist die Verwendung identisch mit GridSearchCV.
Swipe to start coding
Ein vorverarbeiteter Pinguin-Datensatz steht für das Modelltraining bereit.
Das Ziel ist es, die Hyperparameter eines KNeighborsClassifier-Modells mithilfe von Grid Search und Randomized Search Methoden zu optimieren.
- Definition des Parametergrids mit dem Namen
param_gridmit den gewünschten Werten fürn_neighbors,weightsundp. - Initialisierung eines
RandomizedSearchCV-Objekts mit dem definierten Parametergrid und Einstellung vonn_iter=20. - Initialisierung eines
GridSearchCV-Objekts mit demselben Parametergrid. - Training beider Suchobjekte auf dem Datensatz mit der Methode
.fit(X, y). - Ausgabe des besten Schätzers aus der Grid Search mit
.best_estimator_. - Ausgabe des besten Kreuzvalidierungs-Scores aus der Randomized Search mit
.best_score_.
Lösung
Der Code kann mehrmals ausgeführt werden. Die Unterschiede zwischen den beiden Scores beobachten. Manchmal können die Scores identisch sein, da die besten Parameter unter den von RandomizedSearchCV ausgewählten Kombinationen enthalten sind.
Danke für Ihr Feedback!
single