Het 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.
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.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 3.13
Het 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.
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.
Bedankt voor je feedback!