Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Udfordring: Valg af den Bedste K-værdi | K-NN-Klassifikator
Klassifikation med Python

bookUdfordring: Valg af den Bedste K-værdi

Som vist i de foregående kapitler, kan modellens forudsigelser variere afhængigt af værdien af k (antallet af naboer). Når der opbygges en k-NN-model, er det vigtigt at vælge den k-værdi, der giver den bedste ydeevne.

En almindelig tilgang er at anvende krydsvalidering til at evaluere modellens ydeevne. Du kan køre et loop og beregne krydsvalideringsscore for et interval af k-værdier, og derefter vælge den med den højeste score. Dette er den mest udbredte metode.

Til dette formål tilbyder sklearn et praktisk værktøj: klassen GridSearchCV.

Parameteren param_grid tager et dictionary, hvor nøglerne er parameternavne og værdierne er lister over muligheder, der skal afprøves. For eksempel, for at teste værdier fra 1 til 99 for n_neighbors, kan du skrive:

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

Ved at kalde .fit(X, y)-metoden på GridSearchCV-objektet vil parametergridet blive gennemgået for at finde de bedste parametre, hvorefter modellen gen-trænes på hele datasættet med disse bedste parametre.

Du kan tilgå den bedste score via attributten .best_score_ og lave forudsigelser med den optimerede model ved hjælp af .predict()-metoden. Tilsvarende kan du hente den bedste model selv ved at bruge attributten .best_estimator_.

Opgave

Swipe to start coding

Du har fået Star Wars-bedømmelsesdatasættet, som er gemt som en DataFrame i variablen df.

  • Initialiser param_grid som et dictionary, der indeholder parameteren n_neighbors med værdierne [3, 9, 18, 27].
  • Opret et GridSearchCV-objekt ved hjælp af param_grid med 4-fold krydsvalidering, træn det, og gem det i variablen grid_search.
  • Hent den bedste model fra grid_search og gem den i variablen best_model.
  • Hent scoren for den bedste model og gem den i variablen best_score.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 7
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookUdfordring: Valg af den Bedste K-værdi

Stryg for at vise menuen

Som vist i de foregående kapitler, kan modellens forudsigelser variere afhængigt af værdien af k (antallet af naboer). Når der opbygges en k-NN-model, er det vigtigt at vælge den k-værdi, der giver den bedste ydeevne.

En almindelig tilgang er at anvende krydsvalidering til at evaluere modellens ydeevne. Du kan køre et loop og beregne krydsvalideringsscore for et interval af k-værdier, og derefter vælge den med den højeste score. Dette er den mest udbredte metode.

Til dette formål tilbyder sklearn et praktisk værktøj: klassen GridSearchCV.

Parameteren param_grid tager et dictionary, hvor nøglerne er parameternavne og værdierne er lister over muligheder, der skal afprøves. For eksempel, for at teste værdier fra 1 til 99 for n_neighbors, kan du skrive:

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

Ved at kalde .fit(X, y)-metoden på GridSearchCV-objektet vil parametergridet blive gennemgået for at finde de bedste parametre, hvorefter modellen gen-trænes på hele datasættet med disse bedste parametre.

Du kan tilgå den bedste score via attributten .best_score_ og lave forudsigelser med den optimerede model ved hjælp af .predict()-metoden. Tilsvarende kan du hente den bedste model selv ved at bruge attributten .best_estimator_.

Opgave

Swipe to start coding

Du har fået Star Wars-bedømmelsesdatasættet, som er gemt som en DataFrame i variablen df.

  • Initialiser param_grid som et dictionary, der indeholder parameteren n_neighbors med værdierne [3, 9, 18, 27].
  • Opret et GridSearchCV-objekt ved hjælp af param_grid med 4-fold krydsvalidering, træn det, og gem det i variablen grid_search.
  • Hent den bedste model fra grid_search og gem den i variablen best_model.
  • Hent scoren for den bedste model og gem den i variablen best_score.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 7
single

single

some-alt