Utfordring: Justering av Hyperparametere med RandomizedSearchCV
Prinsippet bak RandomizedSearchCV ligner på GridSearchCV, men i stedet for å teste alle mulige kombinasjoner, evaluerer den kun et tilfeldig utvalg av kombinasjonene.
For eksempel inneholder følgende param_grid 100 kombinasjoner:
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 testet alle 100, noe som er tidskrevende. RandomizedSearchCV kan i stedet evaluere et mindre utvalg, for eksempel 20 tilfeldig valgte kombinasjoner. Dette reduserer beregningstiden og gir vanligvis resultater nær det beste.
Antall kombinasjoner som skal testes styres av argumentet n_iter (standardverdi er 10). Ellers er bruken lik som med GridSearchCV.
Swipe to start coding
Du får et forhåndsbehandlet pingvindatasett klart for modelltrening.
Målet ditt er å tune hyperparametrene til en KNeighborsClassifier-modell ved å bruke både grid search og randomized search-metoder.
- Definer parametergridet kalt
param_gridmed ønskede verdier forn_neighbors,weightsogp. - Initialiser et
RandomizedSearchCV-objekt ved å bruke det definerte parametergridet, settn_iter=20. - Initialiser et
GridSearchCV-objekt ved å bruke det samme parametergridet. - Tren begge søkeobjektene på datasettet ved å bruke
.fit(X, y)-metoden. - Skriv ut den beste estimatoren fra grid search ved å bruke
.best_estimator_. - Skriv ut den beste kryssvalideringsscoren fra randomized search ved å bruke
.best_score_.
Løsning
Du kan prøve å kjøre koden flere ganger. Se på forskjellen mellom de to poengsummene. Noen ganger kan poengsummene være like på grunn av tilstedeværelsen av de beste parameterne blant kombinasjonene som er valgt av RandomizedSearchCV.
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain when to use RandomizedSearchCV instead of GridSearchCV?
How do I choose the right value for n_iter in RandomizedSearchCV?
What are the main advantages and disadvantages of RandomizedSearchCV?
Awesome!
Completion rate improved to 3.13
Utfordring: Justering av Hyperparametere med RandomizedSearchCV
Sveip for å vise menyen
Prinsippet bak RandomizedSearchCV ligner på GridSearchCV, men i stedet for å teste alle mulige kombinasjoner, evaluerer den kun et tilfeldig utvalg av kombinasjonene.
For eksempel inneholder følgende param_grid 100 kombinasjoner:
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 testet alle 100, noe som er tidskrevende. RandomizedSearchCV kan i stedet evaluere et mindre utvalg, for eksempel 20 tilfeldig valgte kombinasjoner. Dette reduserer beregningstiden og gir vanligvis resultater nær det beste.
Antall kombinasjoner som skal testes styres av argumentet n_iter (standardverdi er 10). Ellers er bruken lik som med GridSearchCV.
Swipe to start coding
Du får et forhåndsbehandlet pingvindatasett klart for modelltrening.
Målet ditt er å tune hyperparametrene til en KNeighborsClassifier-modell ved å bruke både grid search og randomized search-metoder.
- Definer parametergridet kalt
param_gridmed ønskede verdier forn_neighbors,weightsogp. - Initialiser et
RandomizedSearchCV-objekt ved å bruke det definerte parametergridet, settn_iter=20. - Initialiser et
GridSearchCV-objekt ved å bruke det samme parametergridet. - Tren begge søkeobjektene på datasettet ved å bruke
.fit(X, y)-metoden. - Skriv ut den beste estimatoren fra grid search ved å bruke
.best_estimator_. - Skriv ut den beste kryssvalideringsscoren fra randomized search ved å bruke
.best_score_.
Løsning
Du kan prøve å kjøre koden flere ganger. Se på forskjellen mellom de to poengsummene. Noen ganger kan poengsummene være like på grunn av tilstedeværelsen av de beste parameterne blant kombinasjonene som er valgt av RandomizedSearchCV.
Takk for tilbakemeldingene dine!
single