Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Feilen ved GridSearchCV | Modellering
Introduksjon til maskinlæring med Python

bookFeilen ved GridSearchCV

Før du bruker GridSearchCV, merk at KNeighborsClassifier har flere hyperparametere enn bare n_neighbors. To viktige er weights og p.

Weights

Som standard bruker klassifiseringen weights='uniform', noe som betyr at alle k nærmeste naboer har lik stemme. Ved å sette weights='distance' får nærmere naboer større innflytelse, noe som ofte gir bedre prediksjoner når nærliggende punkter er mer relevante.

P

Parameteren p styrer avstandsmålet:

  • p=1: Manhattan distance;
  • p=2: Euclidean distance.

En p-parameter kan ha et hvilket som helst positivt heltall. Det finnes mange ulike avstander, men de er vanskeligere å visualisere enn p=1 eller p=2.

Note
Merk

Ikke bekymre deg hvis detaljene rundt weights eller p er uklare. De introduseres kun for å vise at det finnes flere enn én hyperparameter som kan påvirke modellens prediksjoner. Se på dem som eksempler på hyperparametere som kan justeres.

Tidligere ble kun n_neighbors justert. For å søke over alle tre hyperparametere, bruk:

param_grid = {
    'n_neighbors': [1, 3, 5, 7],
    'weights': ['distance', 'uniform'],
    'p': [1, 2]
}

GridSearchCV prøver alle mulige kombinasjoner for å finne den beste, så den vil prøve alle disse:

Et større rutenett som:

param_grid = {
    'n_neighbors': [...],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

skaper 100 kombinasjoner. Med 5-fold kryssvalidering trenes modellen 500 ganger. Dette er akseptabelt for små datasett, men for større datasett blir det for tregt.

For å redusere beregningstiden tester RandomizedSearchCV kun et tilfeldig utvalg av kombinasjoner, og finner vanligvis gode resultater mye raskere enn et fullstendig rutenett-søk.

question mark

Hovedproblemet med GridSearchCV er at den prøver alle mulige kombinasjoner (av det som er spesifisert i param_grid), noe som kan ta mye tid. Er denne påstanden korrekt?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 7

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

Awesome!

Completion rate improved to 3.13

bookFeilen ved GridSearchCV

Sveip for å vise menyen

Før du bruker GridSearchCV, merk at KNeighborsClassifier har flere hyperparametere enn bare n_neighbors. To viktige er weights og p.

Weights

Som standard bruker klassifiseringen weights='uniform', noe som betyr at alle k nærmeste naboer har lik stemme. Ved å sette weights='distance' får nærmere naboer større innflytelse, noe som ofte gir bedre prediksjoner når nærliggende punkter er mer relevante.

P

Parameteren p styrer avstandsmålet:

  • p=1: Manhattan distance;
  • p=2: Euclidean distance.

En p-parameter kan ha et hvilket som helst positivt heltall. Det finnes mange ulike avstander, men de er vanskeligere å visualisere enn p=1 eller p=2.

Note
Merk

Ikke bekymre deg hvis detaljene rundt weights eller p er uklare. De introduseres kun for å vise at det finnes flere enn én hyperparameter som kan påvirke modellens prediksjoner. Se på dem som eksempler på hyperparametere som kan justeres.

Tidligere ble kun n_neighbors justert. For å søke over alle tre hyperparametere, bruk:

param_grid = {
    'n_neighbors': [1, 3, 5, 7],
    'weights': ['distance', 'uniform'],
    'p': [1, 2]
}

GridSearchCV prøver alle mulige kombinasjoner for å finne den beste, så den vil prøve alle disse:

Et større rutenett som:

param_grid = {
    'n_neighbors': [...],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

skaper 100 kombinasjoner. Med 5-fold kryssvalidering trenes modellen 500 ganger. Dette er akseptabelt for små datasett, men for større datasett blir det for tregt.

For å redusere beregningstiden tester RandomizedSearchCV kun et tilfeldig utvalg av kombinasjoner, og finner vanligvis gode resultater mye raskere enn et fullstendig rutenett-søk.

question mark

Hovedproblemet med GridSearchCV er at den prøver alle mulige kombinasjoner (av det som er spesifisert i param_grid), noe som kan ta mye tid. Er denne påstanden korrekt?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 7
some-alt