Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Bristen Med GridSearchCV | Modellering
Introduktion till maskininlärning med Python

bookBristen Med GridSearchCV

Innan du använder GridSearchCV, observera att KNeighborsClassifier har fler hyperparametrar än n_neighbors. Två viktiga är weights och p.

Weights

Som standard använder klassificeraren weights='uniform', vilket innebär att alla k grannar röstar lika mycket. Om weights='distance' anges får närmare grannar större inflytande, vilket ofta förbättrar prediktionerna när närliggande punkter är mer relevanta.

P

Parametern p styr avståndsmåttet:

  • p=1: Manhattan-avstånd;
  • p=2: Euklidiskt avstånd.

En p-parameter kan anta vilket positivt heltal som helst. Det finns många olika avstånd, men de är svårare att visualisera än p=1 eller p=2.

Note
Notera

Oroa dig inte om detaljerna kring weights eller p är oklara. De introduceras enbart för att visa att det finns fler än en hyperparameter som kan påverka modellens prediktioner. Betrakta dem som exempel på hyperparametrar som kan justeras.

Tidigare justerades endast n_neighbors. För att söka över alla tre hyperparametrar, använd:

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

GridSearchCV testar alla möjliga kombinationer för att hitta den bästa, så den kommer att prova alla dessa:

Ett större rutnät som:

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

skapar 100 kombinationer. Med 5-faldig korsvalidering tränas modellen 500 gånger. Detta är acceptabelt för små datamängder, men för större blir det för långsamt.

För att minska beräkningstiden testar RandomizedSearchCV endast en slumpmässig delmängd av kombinationerna, och hittar vanligtvis starka resultat mycket snabbare än en fullständig rutnätssökning.

question mark

Huvudproblemet med GridSearchCV är att den testar alla möjliga kombinationer (av det som anges i param_grid), vilket kan ta mycket tid. Är detta påstående korrekt?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 7

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 3.13

bookBristen Med GridSearchCV

Svep för att visa menyn

Innan du använder GridSearchCV, observera att KNeighborsClassifier har fler hyperparametrar än n_neighbors. Två viktiga är weights och p.

Weights

Som standard använder klassificeraren weights='uniform', vilket innebär att alla k grannar röstar lika mycket. Om weights='distance' anges får närmare grannar större inflytande, vilket ofta förbättrar prediktionerna när närliggande punkter är mer relevanta.

P

Parametern p styr avståndsmåttet:

  • p=1: Manhattan-avstånd;
  • p=2: Euklidiskt avstånd.

En p-parameter kan anta vilket positivt heltal som helst. Det finns många olika avstånd, men de är svårare att visualisera än p=1 eller p=2.

Note
Notera

Oroa dig inte om detaljerna kring weights eller p är oklara. De introduceras enbart för att visa att det finns fler än en hyperparameter som kan påverka modellens prediktioner. Betrakta dem som exempel på hyperparametrar som kan justeras.

Tidigare justerades endast n_neighbors. För att söka över alla tre hyperparametrar, använd:

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

GridSearchCV testar alla möjliga kombinationer för att hitta den bästa, så den kommer att prova alla dessa:

Ett större rutnät som:

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

skapar 100 kombinationer. Med 5-faldig korsvalidering tränas modellen 500 gånger. Detta är acceptabelt för små datamängder, men för större blir det för långsamt.

För att minska beräkningstiden testar RandomizedSearchCV endast en slumpmässig delmängd av kombinationerna, och hittar vanligtvis starka resultat mycket snabbare än en fullständig rutnätssökning.

question mark

Huvudproblemet med GridSearchCV är att den testar alla möjliga kombinationer (av det som anges i param_grid), vilket kan ta mycket tid. Är detta påstående korrekt?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 7
some-alt