Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele GridSearchCV:n Puute | Mallintaminen
Johdatus koneoppimiseen Pythonilla

GridSearchCV:n Puute

Pyyhkäise näyttääksesi valikon

Ennen kuin käytät GridSearchCV:tä, huomaa, että KNeighborsClassifier-luokalla on enemmän hyperparametreja kuin pelkkä n_neighbors. Kaksi tärkeää ovat weights ja p.

Painot

Oletuksena luokittelija käyttää weights='uniform', jolloin kaikki k naapuria äänestävät yhtä paljon. Asettamalla weights='distance' läheisemmät naapurit saavat enemmän vaikutusvaltaa, mikä usein parantaa ennusteita, kun lähellä olevat pisteet ovat merkityksellisempiä.

kNNWeights

P

Parametri p määrittää etäisyysmetriikan:

  • p=1: Manhattan-etäisyys;
  • p=2: Euklidinen etäisyys.
Etäisyydet

Parametri p voi olla mikä tahansa positiivinen kokonaisluku. Etäisyyksiä on monia erilaisia, mutta niitä on vaikeampi havainnollistaa kuin arvoja p=1 tai p=2.

Note
Huomio

Älä huoli, jos weights- tai p-parametrien yksityiskohdat eivät ole selviä. Ne esitellään vain osoittamaan, että mallin ennusteisiin voi vaikuttaa useampi kuin yksi hyperparametri. Käsittele niitä esimerkkeinä hyperparametreista, joita voidaan säätää.

Viritys

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 kokeilee kaikkia näitä:

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ä toimii pienillä aineistoilla, mutta suuremmilla se hidastuu liikaa.

Laskenta-ajan vähentämiseksi RandomizedSearchCV testaa vain satunnaisen osajoukon yhdistelmistä, ja löytää yleensä hyviä tuloksia paljon nopeammin kuin täydellinen ruutuhaku.

question mark

GridSearchCV-n suurin ongelma on, että se kokeilee kaikki mahdolliset yhdistelmät (mitä on määritelty param_grid-parametrissa), mikä voi viedä paljon aikaa. Onko tämä väite oikein?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Osio 4. Luku 7
some-alt