Haaste: 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ä 99–n_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.
Swipe to start coding
Sinulle on annettu Star Wars -arviointiaineisto, joka on tallennettu DataFrame-muodossa muuttujaan df.
- Alusta
param_gridsanakirjana, joka sisältään_neighbors-parametrin arvoilla[3, 9, 18, 27]. - Luo
GridSearchCV-olio käyttäenparam_grid-sanakirjaa ja 4-osaisella ristiinvalidoinnilla, kouluta se ja tallenna muuttujaangrid_search. - Hae paras malli
grid_search-oliosta ja tallenna se muuttujaanbest_model. - Hae parhaan mallin pistemäärä ja tallenna se muuttujaan
best_score.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 4.17
Haaste: 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ä 99–n_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.
Swipe to start coding
Sinulle on annettu Star Wars -arviointiaineisto, joka on tallennettu DataFrame-muodossa muuttujaan df.
- Alusta
param_gridsanakirjana, joka sisältään_neighbors-parametrin arvoilla[3, 9, 18, 27]. - Luo
GridSearchCV-olio käyttäenparam_grid-sanakirjaa ja 4-osaisella ristiinvalidoinnilla, kouluta se ja tallenna muuttujaangrid_search. - Hae paras malli
grid_search-oliosta ja tallenna se muuttujaanbest_model. - Hae parhaan mallin pistemäärä ja tallenna se muuttujaan
best_score.
Ratkaisu
Kiitos palautteestasi!
single