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
Koneoppimisen Perusteet Scikit-learnilla

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, mikä on aikaa vievää. 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 on 10). Muuten käyttö on sama kuin GridSearchCV:n kanssa.

Tehtävä

Swipe to start coding

  1. Alusta RandomizedSearchCV-olio parametriverkolla ja aseta n_iter=20.
  2. Alusta GridSearchCV-olio samalla parametriverkolla.
  3. Kouluta molemmat hakuoliot käyttämällä .fit(X, y).
  4. Tulosta ruutuhakumenetelmän paras estimointimalli käyttämällä .best_estimator_.
  5. Tulosta satunnaishaun paras pistemäärä käyttämällä .best_score_.

Ratkaisu

Note
Huomio

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, mikä on aikaa vievää. 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 on 10). Muuten käyttö on sama kuin GridSearchCV:n kanssa.

Tehtävä

Swipe to start coding

  1. Alusta RandomizedSearchCV-olio parametriverkolla ja aseta n_iter=20.
  2. Alusta GridSearchCV-olio samalla parametriverkolla.
  3. Kouluta molemmat hakuoliot käyttämällä .fit(X, y).
  4. Tulosta ruutuhakumenetelmän paras estimointimalli käyttämällä .best_estimator_.
  5. Tulosta satunnaishaun paras pistemäärä käyttämällä .best_score_.

Ratkaisu

Note
Huomio

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!

close

Awesome!

Completion rate improved to 3.13
Osio 4. Luku 8
single

single

some-alt