Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Parhaan K-arvon Valinta | K-NN-luokitin
Luokittelu Pythonilla
Osio 1. Luku 7
single

single

Haaste: Parhaan K-arvon Valinta

Pyyhkäise näyttääksesi valikon

Kuten aiemmissa luvuissa on esitetty, mallin ennusteet voivat vaihdella k-arvon (naapureiden määrä) mukaan. k-NN-mallia rakennettaessa on tärkeää valita sellainen k-arvo, joka tuottaa parhaan suorituskyvyn.

Yleinen lähestymistapa on käyttää ristivalidointia mallin suorituskyvyn arviointiin. Voit suorittaa silmukan ja laskea ristivalidointipisteet eri k-arvojen välillä, ja valita sitten sen, jolla on korkein pistemäärä. Tämä on yleisimmin käytetty menetelmä.

Tämän toteuttamiseen sklearn tarjoaa kätevän työkalun: GridSearchCV-luokan.

GridSearchCV-luokka

param_grid-parametri ottaa sanakirjan, jossa avaimet ovat parametrien nimiä ja arvot ovat listoja kokeiltavista vaihtoehdoista. Esimerkiksi, jos haluat testata arvoja 199 n_neighbors-parametrille, voit kirjoittaa:

param_grid = {'n_neighbors': range(1, 100)}

Kun kutsut .fit(X, y)-metodia GridSearchCV-oliolle, se käy läpi parametriverkon löytääkseen parhaat parametrit ja kouluttaa mallin uudelleen koko aineistolla käyttäen näitä parhaita parametreja.

Voit tarkastella parasta pistemäärää .best_score_-attribuutilla ja tehdä ennusteita optimoidulla mallilla käyttämällä .predict()-metodia. Samoin voit hakea parhaan mallin itsessään .best_estimator_-attribuutilla.

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Sinulle on annettu Star Wars -arvosteludata, joka on tallennettu DataFrame-muodossa muuttujaan df.

  • Alusta param_grid sanakirjaksi, joka sisältää n_neighbors-parametrin arvoilla [3, 9, 18, 27].
  • Luo GridSearchCV-olio käyttäen param_grid-sanakirjaa ja 4-osaisella ristiinvalidoinnilla, kouluta se ja tallenna muuttujaan grid_search.
  • Hae paras malli grid_search-oliosta ja tallenna se muuttujaan best_model.
  • Hae parhaan mallin pistemäärä ja tallenna se muuttujaan best_score.

Ratkaisu

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 1. Luku 7
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

some-alt