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
Introductie tot Machine Learning met Python

Het Gebrek van GridSearchCV

Veeg om het menu te tonen

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

Weights

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

kNNWeights

P

De parameter p bepaalt de afstandsmaat:

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

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

Note
Opmerking

Maak je geen zorgen als de details van weights of p onduidelijk zijn. Ze worden alleen 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.

Afstemmen

Eerder werd alleen n_neighbors afgestemd. Om over alle drie de hyperparameters te zoeken, 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 raster 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 prima voor kleine datasets, maar voor grotere wordt het te traag.

Om de rekentijd te verkorten, test RandomizedSearchCV slechts een willekeurige subset van combinaties, waardoor doorgaans veel sneller sterke resultaten worden gevonden dan met een volledige grid search.

question mark

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

Selecteer het correcte antwoord

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.

Sectie 4. Hoofdstuk 7
some-alt