Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Parhaan K-Arvon Valitseminen | K-NN-luokitin
Luokittelu Pythonilla

bookHaaste: Parhaan K-Arvon Valitseminen

Kuten aiemmissa luvuissa on esitetty, mallin ennusteet voivat vaihdella riippuen k-arvosta (naapureiden määrä). 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 useille k-arvoille, ja valita sitten sen, jolla on korkein pistemäärä. Tämä on laajimmin käytetty menetelmä.

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

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

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

Kun kutsut .fit(X, y)-metodia GridSearchCV-oliolle, se etsii parhaan parametrin parametriverkosta 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. Vastaavasti voit hakea parhaan mallin itsessään .best_estimator_-attribuutilla.

Tehtävä

Swipe to start coding

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

  • Alusta param_grid sanakirjana, 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

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

close

Awesome!

Completion rate improved to 4.17

bookHaaste: Parhaan K-Arvon Valitseminen

Pyyhkäise näyttääksesi valikon

Kuten aiemmissa luvuissa on esitetty, mallin ennusteet voivat vaihdella riippuen k-arvosta (naapureiden määrä). 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 useille k-arvoille, ja valita sitten sen, jolla on korkein pistemäärä. Tämä on laajimmin käytetty menetelmä.

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

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

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

Kun kutsut .fit(X, y)-metodia GridSearchCV-oliolle, se etsii parhaan parametrin parametriverkosta 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. Vastaavasti voit hakea parhaan mallin itsessään .best_estimator_-attribuutilla.

Tehtävä

Swipe to start coding

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

  • Alusta param_grid sanakirjana, 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

some-alt