Udfordring: Justering af Hyperparametre med RandomizedSearchCV
Princippet bag RandomizedSearchCV
ligner GridSearchCV
, men i stedet for at teste alle mulige kombinationer, evaluerer den kun et tilfældigt udvalgt delmængde.
For eksempel indeholder følgende param_grid
100 kombinationer:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
GridSearchCV
ville teste alle 100, hvilket er tidskrævende. RandomizedSearchCV
kan i stedet evaluere en mindre delmængde, f.eks. 20 tilfældigt valgte kombinationer. Dette reducerer beregningstiden og giver som regel resultater tæt på det bedste.
Antallet af kombinationer, der testes, styres af argumentet n_iter
(standard er 10). Ellers er brugen den samme som med GridSearchCV
.
Swipe to start coding
- Initialiser et
RandomizedSearchCV
-objekt med parametergrid og sætn_iter=20
. - Initialiser et
GridSearchCV
-objekt med det samme parametergrid. - Træn begge søgeobjekter ved hjælp af
.fit(X, y)
. - Udskriv den bedste estimator fra grid search med
.best_estimator_
. - Udskriv den bedste score fra randomized search med
.best_score_
.
Løsning
Du kan prøve at køre koden flere gange. Se på forskellen mellem de to scorer. Nogle gange kan scorerne være ens på grund af tilstedeværelsen af de bedste parametre blandt kombinationerne udvalgt af RandomizedSearchCV
.
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain when to use RandomizedSearchCV instead of GridSearchCV?
How do I choose the right value for n_iter in RandomizedSearchCV?
What are the main advantages and disadvantages of RandomizedSearchCV?
Awesome!
Completion rate improved to 3.13
Udfordring: Justering af Hyperparametre med RandomizedSearchCV
Stryg for at vise menuen
Princippet bag RandomizedSearchCV
ligner GridSearchCV
, men i stedet for at teste alle mulige kombinationer, evaluerer den kun et tilfældigt udvalgt delmængde.
For eksempel indeholder følgende param_grid
100 kombinationer:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
GridSearchCV
ville teste alle 100, hvilket er tidskrævende. RandomizedSearchCV
kan i stedet evaluere en mindre delmængde, f.eks. 20 tilfældigt valgte kombinationer. Dette reducerer beregningstiden og giver som regel resultater tæt på det bedste.
Antallet af kombinationer, der testes, styres af argumentet n_iter
(standard er 10). Ellers er brugen den samme som med GridSearchCV
.
Swipe to start coding
- Initialiser et
RandomizedSearchCV
-objekt med parametergrid og sætn_iter=20
. - Initialiser et
GridSearchCV
-objekt med det samme parametergrid. - Træn begge søgeobjekter ved hjælp af
.fit(X, y)
. - Udskriv den bedste estimator fra grid search med
.best_estimator_
. - Udskriv den bedste score fra randomized search med
.best_score_
.
Løsning
Du kan prøve at køre koden flere gange. Se på forskellen mellem de to scorer. Nogle gange kan scorerne være ens på grund af tilstedeværelsen af de bedste parametre blandt kombinationerne udvalgt af RandomizedSearchCV
.
Tak for dine kommentarer!
Awesome!
Completion rate improved to 3.13single