Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Valg av Beste K-Verdi | K-NN-Klassifikator
Klassifisering med Python

bookUtfordring: Valg av Beste K-Verdi

Som vist i de forrige kapitlene, kan modellens prediksjoner variere avhengig av verdien til k (antall naboer). Når du bygger en k-NN-modell, er det viktig å velge k-verdien som gir best ytelse.

En vanlig tilnærming er å bruke kryssvalidering for å evaluere modellens ytelse. Du kan kjøre en løkke og beregne kryssvalideringsscore for et utvalg av k-verdier, og deretter velge den med høyest score. Dette er den mest brukte metoden.

For å utføre dette tilbyr sklearn et praktisk verktøy: klassen GridSearchCV.

Parameteren param_grid tar et ordbok der nøklene er parameternavn og verdiene er lister med alternativer som skal prøves. For eksempel, for å teste verdier fra 1 til 99 for n_neighbors, kan du skrive:

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

Ved å kalle .fit(X, y)-metoden på GridSearchCV-objektet vil parametergridet bli gjennomgått for å finne de beste parameterne, og deretter trenes modellen på nytt på hele datasettet med disse beste parameterne.

Du kan få tilgang til beste score ved å bruke attributtet .best_score_ og gjøre prediksjoner med den optimaliserte modellen ved å bruke .predict()-metoden. På samme måte kan du hente ut beste modell selv ved å bruke attributtet .best_estimator_.

Oppgave

Swipe to start coding

Du har fått Star Wars-rangeringene lagret som et DataFrame i variabelen df.

  • Initialiser param_grid som en ordbok som inneholder parameteren n_neighbors med verdiene [3, 9, 18, 27].
  • Opprett et GridSearchCV-objekt ved å bruke param_grid med 4-fold kryssvalidering, tren det, og lagre det i variabelen grid_search.
  • Hent den beste modellen fra grid_search og lagre den i variabelen best_model.
  • Hent scoren til den beste modellen og lagre den i variabelen best_score.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 7
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you show me an example of how to use GridSearchCV with k-NN?

How do I interpret the results from GridSearchCV?

What other parameters can I tune with GridSearchCV besides n_neighbors?

close

Awesome!

Completion rate improved to 4.17

bookUtfordring: Valg av Beste K-Verdi

Sveip for å vise menyen

Som vist i de forrige kapitlene, kan modellens prediksjoner variere avhengig av verdien til k (antall naboer). Når du bygger en k-NN-modell, er det viktig å velge k-verdien som gir best ytelse.

En vanlig tilnærming er å bruke kryssvalidering for å evaluere modellens ytelse. Du kan kjøre en løkke og beregne kryssvalideringsscore for et utvalg av k-verdier, og deretter velge den med høyest score. Dette er den mest brukte metoden.

For å utføre dette tilbyr sklearn et praktisk verktøy: klassen GridSearchCV.

Parameteren param_grid tar et ordbok der nøklene er parameternavn og verdiene er lister med alternativer som skal prøves. For eksempel, for å teste verdier fra 1 til 99 for n_neighbors, kan du skrive:

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

Ved å kalle .fit(X, y)-metoden på GridSearchCV-objektet vil parametergridet bli gjennomgått for å finne de beste parameterne, og deretter trenes modellen på nytt på hele datasettet med disse beste parameterne.

Du kan få tilgang til beste score ved å bruke attributtet .best_score_ og gjøre prediksjoner med den optimaliserte modellen ved å bruke .predict()-metoden. På samme måte kan du hente ut beste modell selv ved å bruke attributtet .best_estimator_.

Oppgave

Swipe to start coding

Du har fått Star Wars-rangeringene lagret som et DataFrame i variabelen df.

  • Initialiser param_grid som en ordbok som inneholder parameteren n_neighbors med verdiene [3, 9, 18, 27].
  • Opprett et GridSearchCV-objekt ved å bruke param_grid med 4-fold kryssvalidering, tren det, og lagre det i variabelen grid_search.
  • Hent den beste modellen fra grid_search og lagre den i variabelen best_model.
  • Hent scoren til den beste modellen og lagre den i variabelen best_score.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 7
single

single

some-alt