Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Het Gebrek van GridSearchCV | Modellering
Quizzes & Challenges
Quizzes
Challenges
/
Introductie tot Machine Learning met Python

bookHet Gebrek van GridSearchCV

Voordat u GridSearchCV gebruikt, let op dat KNeighborsClassifier meer hyperparameters heeft dan alleen n_neighbors. Twee belangrijke zijn weights en p.

Gewichten

Standaard gebruikt de classifier weights='uniform', wat betekent dat alle k buren evenveel stemmen. Door weights='distance' in te stellen, krijgen dichtere buren meer invloed, wat vaak de voorspellingen verbetert wanneer nabijgelegen punten relevanter zijn.

P

De parameter p bepaalt de afstandsmaatstaf:

  • p=1: Manhattan-afstand;
  • p=2: Euclidische afstand.

Een p-parameter kan elke positieve integer aannemen. Er bestaan veel verschillende afstanden, maar deze zijn moeilijker te visualiseren dan bij p=1 of p=2.

Note
Opmerking

Maak je geen zorgen als de details van weights of p onduidelijk zijn. Ze worden geïntroduceerd om te laten zien dat er meer dan één hyperparameter is die de voorspellingen van het model kan beïnvloeden. Zie ze als voorbeelden van hyperparameters die afgestemd kunnen worden.

Eerder werd alleen n_neighbors afgestemd. Om alle drie de hyperparameters te doorzoeken, gebruik:

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

GridSearchCV probeert alle mogelijke combinaties om de beste te vinden, dus het zal al deze proberen:

Een groter rooster zoals:

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

creëert 100 combinaties. Met 5-voudige cross-validatie wordt het model 500 keer getraind. Dit is acceptabel voor kleine datasets, maar voor grotere wordt het te traag.

Om de rekentijd te verkorten, test RandomizedSearchCV slechts een willekeurige subset van combinaties, wat meestal veel sneller sterke resultaten oplevert dan een volledige grid search.

question mark

Het belangrijkste probleem van GridSearchCV is dat het alle mogelijke combinaties probeert (van wat is gespecificeerd in param_grid), wat veel tijd kan kosten. Is deze uitspraak correct?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 7

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 3.13

bookHet Gebrek van GridSearchCV

Veeg om het menu te tonen

Voordat u GridSearchCV gebruikt, let op dat KNeighborsClassifier meer hyperparameters heeft dan alleen n_neighbors. Twee belangrijke zijn weights en p.

Gewichten

Standaard gebruikt de classifier weights='uniform', wat betekent dat alle k buren evenveel stemmen. Door weights='distance' in te stellen, krijgen dichtere buren meer invloed, wat vaak de voorspellingen verbetert wanneer nabijgelegen punten relevanter zijn.

P

De parameter p bepaalt de afstandsmaatstaf:

  • p=1: Manhattan-afstand;
  • p=2: Euclidische afstand.

Een p-parameter kan elke positieve integer aannemen. Er bestaan veel verschillende afstanden, maar deze zijn moeilijker te visualiseren dan bij p=1 of p=2.

Note
Opmerking

Maak je geen zorgen als de details van weights of p onduidelijk zijn. Ze worden geïntroduceerd om te laten zien dat er meer dan één hyperparameter is die de voorspellingen van het model kan beïnvloeden. Zie ze als voorbeelden van hyperparameters die afgestemd kunnen worden.

Eerder werd alleen n_neighbors afgestemd. Om alle drie de hyperparameters te doorzoeken, gebruik:

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

GridSearchCV probeert alle mogelijke combinaties om de beste te vinden, dus het zal al deze proberen:

Een groter rooster zoals:

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

creëert 100 combinaties. Met 5-voudige cross-validatie wordt het model 500 keer getraind. Dit is acceptabel voor kleine datasets, maar voor grotere wordt het te traag.

Om de rekentijd te verkorten, test RandomizedSearchCV slechts een willekeurige subset van combinaties, wat meestal veel sneller sterke resultaten oplevert dan een volledige grid search.

question mark

Het belangrijkste probleem van GridSearchCV is dat het alle mogelijke combinaties probeert (van wat is gespecificeerd in param_grid), wat veel tijd kan kosten. Is deze uitspraak correct?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 7
some-alt