Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Justering av Hyperparametere med RandomizedSearchCV | Modellering
Quizzes & Challenges
Quizzes
Challenges
/
Introduksjon til maskinlæring med Python

bookUtfordring: Justering av Hyperparametere med RandomizedSearchCV

Prinsippet bak RandomizedSearchCV ligner på GridSearchCV, men i stedet for å teste alle mulige kombinasjoner, evaluerer den kun et tilfeldig utvalg av kombinasjonene.

For eksempel inneholder følgende param_grid 100 kombinasjoner:

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 testet alle 100, noe som er tidskrevende. RandomizedSearchCV kan i stedet evaluere et mindre utvalg, for eksempel 20 tilfeldig valgte kombinasjoner. Dette reduserer beregningstiden og gir vanligvis resultater nær det beste.

Antall kombinasjoner som skal testes styres av argumentet n_iter (standardverdi er 10). Ellers er bruken lik som med GridSearchCV.

Oppgave

Swipe to start coding

Du får et forhåndsbehandlet pingvindatasett klart for modelltrening. Målet ditt er å tune hyperparametrene til en KNeighborsClassifier-modell ved å bruke både grid search og randomized search-metoder.

  1. Definer parametergridet kalt param_grid med ønskede verdier for n_neighbors, weights og p.
  2. Initialiser et RandomizedSearchCV-objekt ved å bruke det definerte parametergridet, sett n_iter=20.
  3. Initialiser et GridSearchCV-objekt ved å bruke det samme parametergridet.
  4. Tren begge søkeobjektene på datasettet ved å bruke .fit(X, y)-metoden.
  5. Skriv ut den beste estimatoren fra grid search ved å bruke .best_estimator_.
  6. Skriv ut den beste kryssvalideringsscoren fra randomized search ved å bruke .best_score_.

Løsning

Note
Merk

Du kan prøve å kjøre koden flere ganger. Se på forskjellen mellom de to poengsummene. Noen ganger kan poengsummene være like på grunn av tilstedeværelsen av de beste parameterne blant kombinasjonene som er valgt av RandomizedSearchCV.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 8
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

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

bookUtfordring: Justering av Hyperparametere med RandomizedSearchCV

Sveip for å vise menyen

Prinsippet bak RandomizedSearchCV ligner på GridSearchCV, men i stedet for å teste alle mulige kombinasjoner, evaluerer den kun et tilfeldig utvalg av kombinasjonene.

For eksempel inneholder følgende param_grid 100 kombinasjoner:

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 testet alle 100, noe som er tidskrevende. RandomizedSearchCV kan i stedet evaluere et mindre utvalg, for eksempel 20 tilfeldig valgte kombinasjoner. Dette reduserer beregningstiden og gir vanligvis resultater nær det beste.

Antall kombinasjoner som skal testes styres av argumentet n_iter (standardverdi er 10). Ellers er bruken lik som med GridSearchCV.

Oppgave

Swipe to start coding

Du får et forhåndsbehandlet pingvindatasett klart for modelltrening. Målet ditt er å tune hyperparametrene til en KNeighborsClassifier-modell ved å bruke både grid search og randomized search-metoder.

  1. Definer parametergridet kalt param_grid med ønskede verdier for n_neighbors, weights og p.
  2. Initialiser et RandomizedSearchCV-objekt ved å bruke det definerte parametergridet, sett n_iter=20.
  3. Initialiser et GridSearchCV-objekt ved å bruke det samme parametergridet.
  4. Tren begge søkeobjektene på datasettet ved å bruke .fit(X, y)-metoden.
  5. Skriv ut den beste estimatoren fra grid search ved å bruke .best_estimator_.
  6. Skriv ut den beste kryssvalideringsscoren fra randomized search ved å bruke .best_score_.

Løsning

Note
Merk

Du kan prøve å kjøre koden flere ganger. Se på forskjellen mellom de to poengsummene. Noen ganger kan poengsummene være like på grunn av tilstedeværelsen av de beste parameterne blant kombinasjonene som er valgt av RandomizedSearchCV.

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 8
single

single

some-alt