Udfordring: Justering af Hyperparametre med RandomizedSearchCV
Princippet bag RandomizedSearchCV ligner GridSearchCV, men i stedet for at teste alle mulige kombinationer, evaluerer den kun et tilfældigt udvalgt delmængde.
For eksempel indeholder følgende param_grid 100 kombinationer:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
GridSearchCV ville teste alle 100, hvilket er tidskrævende. RandomizedSearchCV kan i stedet evaluere en mindre delmængde, f.eks. 20 tilfældigt valgte kombinationer. Dette reducerer beregningstiden og giver som regel resultater tæt på de bedste.
Antallet af kombinationer, der testes, styres af argumentet n_iter (standard er 10). Ellers er brugen den samme som med GridSearchCV.
Swipe to start coding
Du får et forbehandlet pingvindatasæt, der er klar til modellering.
Dit mål er at tune hyperparametrene for en KNeighborsClassifier-model ved hjælp af både grid search og randomized search metoder.
- Definér parametergridet med navnet
param_gridmed de ønskede værdier forn_neighbors,weightsogp. - Initialisér et
RandomizedSearchCV-objekt med det definerede parametergrid, og sætn_iter=20. - Initialisér et
GridSearchCV-objekt med det samme parametergrid. - Træn begge search-objekter på datasættet ved at bruge
.fit(X, y)-metoden. - Udskriv den bedste estimator fra grid search ved hjælp af
.best_estimator_. - Udskriv den bedste krydsvalideringsscore fra randomized search ved hjælp af
.best_score_.
Løsning
Du kan prøve at køre koden flere gange. Se på forskellen mellem de to scorer. Nogle gange kan scorerne være ens på grund af tilstedeværelsen af de bedste parametre blandt de kombinationer, der udvælges af RandomizedSearchCV.
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.13
Udfordring: Justering af Hyperparametre med RandomizedSearchCV
Stryg for at vise menuen
Princippet bag RandomizedSearchCV ligner GridSearchCV, men i stedet for at teste alle mulige kombinationer, evaluerer den kun et tilfældigt udvalgt delmængde.
For eksempel indeholder følgende param_grid 100 kombinationer:
param_grid = {
'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
'weights': ['distance', 'uniform'],
'p': [1, 2, 3, 4, 5]
}
GridSearchCV ville teste alle 100, hvilket er tidskrævende. RandomizedSearchCV kan i stedet evaluere en mindre delmængde, f.eks. 20 tilfældigt valgte kombinationer. Dette reducerer beregningstiden og giver som regel resultater tæt på de bedste.
Antallet af kombinationer, der testes, styres af argumentet n_iter (standard er 10). Ellers er brugen den samme som med GridSearchCV.
Swipe to start coding
Du får et forbehandlet pingvindatasæt, der er klar til modellering.
Dit mål er at tune hyperparametrene for en KNeighborsClassifier-model ved hjælp af både grid search og randomized search metoder.
- Definér parametergridet med navnet
param_gridmed de ønskede værdier forn_neighbors,weightsogp. - Initialisér et
RandomizedSearchCV-objekt med det definerede parametergrid, og sætn_iter=20. - Initialisér et
GridSearchCV-objekt med det samme parametergrid. - Træn begge search-objekter på datasættet ved at bruge
.fit(X, y)-metoden. - Udskriv den bedste estimator fra grid search ved hjælp af
.best_estimator_. - Udskriv den bedste krydsvalideringsscore fra randomized search ved hjælp af
.best_score_.
Løsning
Du kan prøve at køre koden flere gange. Se på forskellen mellem de to scorer. Nogle gange kan scorerne være ens på grund af tilstedeværelsen af de bedste parametre blandt de kombinationer, der udvælges af RandomizedSearchCV.
Tak for dine kommentarer!
single