Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Hyperparametrien Viritys RandomizedSearchCV:llä | Mallintaminen
Quizzes & Challenges
Quizzes
Challenges
/
Johdatus koneoppimiseen Pythonilla

bookHaaste: Hyperparametrien Viritys RandomizedSearchCV:llä

RandomizedSearchCV:n periaate on samanlainen kuin GridSearchCV:n, mutta sen sijaan, että testattaisiin kaikki mahdolliset yhdistelmät, arvioidaan vain satunnaisesti valittu osajoukko.

Esimerkiksi seuraava param_grid sisältää 100 yhdistelmää:

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

GridSearchCV testaisi kaikki 100 yhdistelmää, mikä on aikakuluttavaa. RandomizedSearchCV voi sen sijaan arvioida pienemmän osajoukon, esimerkiksi 20 satunnaisesti valittua yhdistelmää. Tämä vähentää laskenta-aikaa ja tuottaa yleensä tuloksia, jotka ovat lähellä parasta mahdollista.

Testattavien yhdistelmien määrää ohjataan n_iter-argumentilla (oletus 10). Muuten käyttö on samanlaista kuin GridSearchCV:n kanssa.

Tehtävä

Swipe to start coding

Sinulle on annettu esikäsitelty pingviiniaineisto, joka on valmis mallin koulutukseen. Tavoitteenasi on virittää hyperparametrit KNeighborsClassifier-mallille käyttämällä sekä ruutuhakua että satunnaistettua hakua.

  1. Määrittele parametriruudukko nimeltä param_grid, jossa on halutut arvot n_neighbors, weights ja p.
  2. Alusta RandomizedSearchCV-olio käyttäen määriteltyä parametriruudukkoa ja aseta n_iter=20.
  3. Alusta GridSearchCV-olio käyttäen samaa parametriruudukkoa.
  4. Kouluta molemmat hakuoliot aineistolla käyttämällä .fit(X, y)-metodia.
  5. Tulosta ruutuhaku-olion paras estimaattori käyttämällä .best_estimator_.
  6. Tulosta satunnaistetun haun paras ristiinvalidointitulos käyttämällä .best_score_.

Ratkaisu

Note
Huom

Voit kokeilla koodin suorittamista useita kertoja. Tarkastele kahden tuloksen välistä eroa. Joskus tulokset voivat olla samat, koska parhaat parametrit sisältyvät RandomizedSearchCV:n satunnaisesti valittuihin yhdistelmiin.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 8
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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

bookHaaste: Hyperparametrien Viritys RandomizedSearchCV:llä

Pyyhkäise näyttääksesi valikon

RandomizedSearchCV:n periaate on samanlainen kuin GridSearchCV:n, mutta sen sijaan, että testattaisiin kaikki mahdolliset yhdistelmät, arvioidaan vain satunnaisesti valittu osajoukko.

Esimerkiksi seuraava param_grid sisältää 100 yhdistelmää:

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

GridSearchCV testaisi kaikki 100 yhdistelmää, mikä on aikakuluttavaa. RandomizedSearchCV voi sen sijaan arvioida pienemmän osajoukon, esimerkiksi 20 satunnaisesti valittua yhdistelmää. Tämä vähentää laskenta-aikaa ja tuottaa yleensä tuloksia, jotka ovat lähellä parasta mahdollista.

Testattavien yhdistelmien määrää ohjataan n_iter-argumentilla (oletus 10). Muuten käyttö on samanlaista kuin GridSearchCV:n kanssa.

Tehtävä

Swipe to start coding

Sinulle on annettu esikäsitelty pingviiniaineisto, joka on valmis mallin koulutukseen. Tavoitteenasi on virittää hyperparametrit KNeighborsClassifier-mallille käyttämällä sekä ruutuhakua että satunnaistettua hakua.

  1. Määrittele parametriruudukko nimeltä param_grid, jossa on halutut arvot n_neighbors, weights ja p.
  2. Alusta RandomizedSearchCV-olio käyttäen määriteltyä parametriruudukkoa ja aseta n_iter=20.
  3. Alusta GridSearchCV-olio käyttäen samaa parametriruudukkoa.
  4. Kouluta molemmat hakuoliot aineistolla käyttämällä .fit(X, y)-metodia.
  5. Tulosta ruutuhaku-olion paras estimaattori käyttämällä .best_estimator_.
  6. Tulosta satunnaistetun haun paras ristiinvalidointitulos käyttämällä .best_score_.

Ratkaisu

Note
Huom

Voit kokeilla koodin suorittamista useita kertoja. Tarkastele kahden tuloksen välistä eroa. Joskus tulokset voivat olla samat, koska parhaat parametrit sisältyvät RandomizedSearchCV:n satunnaisesti valittuihin yhdistelmiin.

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 8
single

single

some-alt