Haaste: 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.
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.
- Määrittele parametriruudukko nimeltä
param_grid, jossa on halutut arvotn_neighbors,weightsjap. - Alusta
RandomizedSearchCV-olio käyttäen määriteltyä parametriruudukkoa ja asetan_iter=20. - Alusta
GridSearchCV-olio käyttäen samaa parametriruudukkoa. - Kouluta molemmat hakuoliot aineistolla käyttämällä
.fit(X, y)-metodia. - Tulosta ruutuhaku-olion paras estimaattori käyttämällä
.best_estimator_. - Tulosta satunnaistetun haun paras ristiinvalidointitulos käyttämällä
.best_score_.
Ratkaisu
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.
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Haaste: 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.
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.
- Määrittele parametriruudukko nimeltä
param_grid, jossa on halutut arvotn_neighbors,weightsjap. - Alusta
RandomizedSearchCV-olio käyttäen määriteltyä parametriruudukkoa ja asetan_iter=20. - Alusta
GridSearchCV-olio käyttäen samaa parametriruudukkoa. - Kouluta molemmat hakuoliot aineistolla käyttämällä
.fit(X, y)-metodia. - Tulosta ruutuhaku-olion paras estimaattori käyttämällä
.best_estimator_. - Tulosta satunnaistetun haun paras ristiinvalidointitulos käyttämällä
.best_score_.
Ratkaisu
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.
Kiitos palautteestasi!
single