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 erfolgt die Anwendung wie bei GridSearchCV
.
Swipe to start coding
- Initialisierung eines
RandomizedSearchCV
-Objekts mit dem Parameter-Grid und Setzen vonn_iter=20
. - Initialisierung eines
GridSearchCV
-Objekts mit demselben Parameter-Grid. - Training beider Suchobjekte mit
.fit(X, y)
. - Ausgabe des besten Schätzers aus der Grid Search mit
.best_estimator_
. - Ausgabe des besten Scores aus der Randomized Search mit
.best_score_
.
Lösung
Sie können versuchen, den Code mehrmals auszuführen. Beobachten Sie den Unterschied zwischen den beiden Ergebnissen. Manchmal können die Ergebnisse identisch sein, da die besten Parameter unter den von RandomizedSearchCV
ausgewählten Kombinationen enthalten sein können.
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 erfolgt die Anwendung wie bei GridSearchCV
.
Swipe to start coding
- Initialisierung eines
RandomizedSearchCV
-Objekts mit dem Parameter-Grid und Setzen vonn_iter=20
. - Initialisierung eines
GridSearchCV
-Objekts mit demselben Parameter-Grid. - Training beider Suchobjekte mit
.fit(X, y)
. - Ausgabe des besten Schätzers aus der Grid Search mit
.best_estimator_
. - Ausgabe des besten Scores aus der Randomized Search mit
.best_score_
.
Lösung
Sie können versuchen, den Code mehrmals auszuführen. Beobachten Sie den Unterschied zwischen den beiden Ergebnissen. Manchmal können die Ergebnisse identisch sein, da die besten Parameter unter den von RandomizedSearchCV
ausgewählten Kombinationen enthalten sein können.
Danke für Ihr Feedback!
Awesome!
Completion rate improved to 3.13single