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

Svagheden ved GridSearchCV

Stryg for at vise menuen

Før du bruger GridSearchCV, skal du bemærke, at KNeighborsClassifier har flere hyperparametre end n_neighbors. To vigtige er weights og p.

Vægte

Som standard bruger klassifikatoren weights='uniform', hvilket betyder, at alle k naboer stemmer lige meget. Indstillingen weights='distance' giver tættestliggende naboer mere indflydelse, hvilket ofte forbedrer forudsigelser, når nærliggende punkter er mere relevante.

kNNWeights

P

Parameteren p styrer afstandsmetrikken:

  • p=1: Manhattan-afstand;
  • p=2: Euklidisk afstand.
Afstande

En p-parameter kan antage ethvert positivt heltal. Der findes mange forskellige afstande, men de er sværere at visualisere end p=1 eller p=2.

Note
Bemærk

Vær ikke bekymret, hvis detaljerne om weights eller p er uklare. De er blot introduceret for at vise, at der findes mere end én hyperparameter, som kan påvirke modellens forudsigelser. Betragt dem som eksempler på hyperparametre, der kan justeres.

Tuning

Tidligere blev kun n_neighbors justeret. For at søge over alle tre hyperparametre, anvendes:

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

GridSearchCV afprøver alle mulige kombinationer for at finde den bedste, så den vil prøve alle disse:

Et større grid som:

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

skaber 100 kombinationer. Med 5-fold cross-validation bliver modellen trænet 500 gange. Dette er fint for små datasæt, men for større bliver det for langsomt.

For at reducere beregningstiden tester RandomizedSearchCV kun et tilfældigt delmængde af kombinationer, hvilket normalt giver stærke resultater meget hurtigere end et fuldt grid search.

question mark

Hovedproblemet ved GridSearchCV er, at den prøver alle mulige kombinationer (af det, der er angivet i param_grid), hvilket kan tage meget lang tid. Er denne påstand korrekt?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 7

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

Sektion 4. Kapitel 7
some-alt