GridSearchCV:n Puute
Ennen kuin käytät GridSearchCV:tä, huomioi, että KNeighborsClassifier-luokalla on enemmän hyperparametreja kuin pelkkä n_neighbors. Kaksi tärkeää ovat weights ja p.
Weights
Oletuksena luokittelija käyttää weights='uniform', jolloin kaikki k naapurit äänestävät tasavertaisesti.
Asetus weights='distance' antaa läheisemmille naapureille enemmän vaikutusvaltaa, mikä usein parantaa ennusteita, kun läheiset pisteet ovat merkityksellisempiä.
P
Parametri p määrittää etäisyysmetriikan:
p=1: Manhattan-etäisyys;p=2: Euklidinen etäisyys.
p-parametri voi olla mikä tahansa positiivinen kokonaisluku. Etäisyyksiä on monia erilaisia, mutta niitä on vaikeampi havainnollistaa kuin tapauksia p=1 tai p=2.
Älä huoli, jos weights- tai p-parametrien yksityiskohdat ovat epäselviä. Ne esitellään vain osoittamaan, että mallin ennusteisiin voi vaikuttaa useampi kuin yksi hyperparametri. Käsittele niitä esimerkkeinä hyperparametreista, joita voidaan säätää.
Aiemmin säädettiin vain n_neighbors-parametria. Kaikkien kolmen hyperparametrin tutkimiseen käytetään:
param_grid = {
'n_neighbors': [1, 3, 5, 7],
'weights': ['distance', 'uniform'],
'p': [1, 2]
}
GridSearchCV kokeilee kaikkia mahdollisia yhdistelmiä löytääkseen parhaan, joten se testaa kaikki seuraavat:
Suurempi ruudukko kuten:
param_grid = {
'n_neighbors': [...],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
luo 100 yhdistelmää. Kun käytetään 5-kertaista ristiinvalidointia, malli opetetaan 500 kertaa. Tämä on sopivaa pienille aineistoille, mutta suuremmilla aineistoilla prosessi hidastuu liikaa.
Laskenta-ajan vähentämiseksi RandomizedSearchCV testaa vain satunnaisen osajoukon yhdistelmistä, ja löytää usein hyviä tuloksia paljon nopeammin kuin täydellinen ruutuhaku.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain how RandomizedSearchCV selects the combinations to test?
What are some best practices for choosing the range of hyperparameters?
How do I interpret the results from GridSearchCV or RandomizedSearchCV?
Awesome!
Completion rate improved to 3.13
GridSearchCV:n Puute
Pyyhkäise näyttääksesi valikon
Ennen kuin käytät GridSearchCV:tä, huomioi, että KNeighborsClassifier-luokalla on enemmän hyperparametreja kuin pelkkä n_neighbors. Kaksi tärkeää ovat weights ja p.
Weights
Oletuksena luokittelija käyttää weights='uniform', jolloin kaikki k naapurit äänestävät tasavertaisesti.
Asetus weights='distance' antaa läheisemmille naapureille enemmän vaikutusvaltaa, mikä usein parantaa ennusteita, kun läheiset pisteet ovat merkityksellisempiä.
P
Parametri p määrittää etäisyysmetriikan:
p=1: Manhattan-etäisyys;p=2: Euklidinen etäisyys.
p-parametri voi olla mikä tahansa positiivinen kokonaisluku. Etäisyyksiä on monia erilaisia, mutta niitä on vaikeampi havainnollistaa kuin tapauksia p=1 tai p=2.
Älä huoli, jos weights- tai p-parametrien yksityiskohdat ovat epäselviä. Ne esitellään vain osoittamaan, että mallin ennusteisiin voi vaikuttaa useampi kuin yksi hyperparametri. Käsittele niitä esimerkkeinä hyperparametreista, joita voidaan säätää.
Aiemmin säädettiin vain n_neighbors-parametria. Kaikkien kolmen hyperparametrin tutkimiseen käytetään:
param_grid = {
'n_neighbors': [1, 3, 5, 7],
'weights': ['distance', 'uniform'],
'p': [1, 2]
}
GridSearchCV kokeilee kaikkia mahdollisia yhdistelmiä löytääkseen parhaan, joten se testaa kaikki seuraavat:
Suurempi ruudukko kuten:
param_grid = {
'n_neighbors': [...],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
luo 100 yhdistelmää. Kun käytetään 5-kertaista ristiinvalidointia, malli opetetaan 500 kertaa. Tämä on sopivaa pienille aineistoille, mutta suuremmilla aineistoilla prosessi hidastuu liikaa.
Laskenta-ajan vähentämiseksi RandomizedSearchCV testaa vain satunnaisen osajoukon yhdistelmistä, ja löytää usein hyviä tuloksia paljon nopeammin kuin täydellinen ruutuhaku.
Kiitos palautteestasi!