Haaste: Parhaan K-arvon Valitseminen
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 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.
Konstruktori:
GridSearchCV(estimator, param_grid, scoring, cv = 5)estimator— mallin olio;param_grid— sanakirja, jossa on haettavat parametrien arvot;scoring— metriikka, jota käytetään ristivalidointipisteen laskemiseen;cv— taitosten määrä (oletuksena 5);
Menetelmät:
fit(X, y)— mallien koulutus X:n ja y:n avulla;predict(X)— luokan ennustaminen X:lle;score(X, y)— palauttaa tarkkuuden X- ja y-joukolle;
Attribuutit:
best_estimator_— paras pistemäärän saanut mallin olio;best_score_—best_estimator_:n pistemäärä.
param_grid-parametri ottaa sanakirjan, jossa avaimet ovat parametrien nimiä ja arvot ovat listoja kokeiltavista vaihtoehdoista. Esimerkiksi, jos haluat testata 1-arvoja välillä 99–n_neighbors, 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 näillä parhailla parametreilla.
Voit tarkastella parasta pistemäärää .best_score_-attribuutin avulla ja tehdä ennusteita optimoidulla mallilla käyttämällä .predict()-metodia. Vastaavasti voit hakea parhaan mallin itsessään .best_estimator_-attribuutin avulla.
Swipe to start coding
Sinulle on annettu Star Wars -arvosteludatajoukko, joka on tallennettu DataFrame-muodossa muuttujaan df.
- Alusta
param_gridsanakirjana, joka sisältään_neighbors-parametrin arvot[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
Mahtavaa!
Completion arvosana parantunut arvoon 3.33
Haaste: Parhaan K-arvon Valitseminen
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 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.
Konstruktori:
GridSearchCV(estimator, param_grid, scoring, cv = 5)estimator— mallin olio;param_grid— sanakirja, jossa on haettavat parametrien arvot;scoring— metriikka, jota käytetään ristivalidointipisteen laskemiseen;cv— taitosten määrä (oletuksena 5);
Menetelmät:
fit(X, y)— mallien koulutus X:n ja y:n avulla;predict(X)— luokan ennustaminen X:lle;score(X, y)— palauttaa tarkkuuden X- ja y-joukolle;
Attribuutit:
best_estimator_— paras pistemäärän saanut mallin olio;best_score_—best_estimator_:n pistemäärä.
param_grid-parametri ottaa sanakirjan, jossa avaimet ovat parametrien nimiä ja arvot ovat listoja kokeiltavista vaihtoehdoista. Esimerkiksi, jos haluat testata 1-arvoja välillä 99–n_neighbors, 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 näillä parhailla parametreilla.
Voit tarkastella parasta pistemäärää .best_score_-attribuutin avulla ja tehdä ennusteita optimoidulla mallilla käyttämällä .predict()-metodia. Vastaavasti voit hakea parhaan mallin itsessään .best_estimator_-attribuutin avulla.
Swipe to start coding
Sinulle on annettu Star Wars -arvosteludatajoukko, joka on tallennettu DataFrame-muodossa muuttujaan df.
- Alusta
param_gridsanakirjana, joka sisältään_neighbors-parametrin arvot[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