Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Udfordring: Justering af Hyperparametre med RandomizedSearchCV | Modellering
ML Introduktion med Scikit-learn

bookUdfordring: 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.

Opgave

Swipe to start coding

  1. Initialiser et RandomizedSearchCV-objekt med parametergrid og sæt n_iter=20.
  2. Initialiser et GridSearchCV-objekt med det samme parametergrid.
  3. Træn begge søgeobjekter ved hjælp af .fit(X, y).
  4. Udskriv den bedste estimator fra grid search med .best_estimator_.
  5. Udskriv den bedste score fra randomized search med .best_score_.

Løsning

Note
Bemærk

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.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 8
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.13

bookUdfordring: 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.

Opgave

Swipe to start coding

  1. Initialiser et RandomizedSearchCV-objekt med parametergrid og sæt n_iter=20.
  2. Initialiser et GridSearchCV-objekt med det samme parametergrid.
  3. Træn begge søgeobjekter ved hjælp af .fit(X, y).
  4. Udskriv den bedste estimator fra grid search med .best_estimator_.
  5. Udskriv den bedste score fra randomized search med .best_score_.

Løsning

Note
Bemærk

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.

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

close

Awesome!

Completion rate improved to 3.13
Sektion 4. Kapitel 8
single

single

some-alt