Utmaning: Justering av Hyperparametrar med Randomizedsearchcv
Principen för RandomizedSearchCV liknar GridSearchCV, men istället för att testa varje möjlig kombination utvärderas endast ett slumpmässigt urval av kombinationer.
Till exempel innehåller följande 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 skulle testa alla 100, vilket är tidskrävande. RandomizedSearchCV kan istället utvärdera en mindre delmängd, t.ex. 20 slumpmässigt valda kombinationer. Detta minskar beräkningstiden och ger vanligtvis resultat nära det bästa.
Antalet kombinationer som ska testas styrs av argumentet n_iter (standardvärde är 10). I övrigt används det på samma sätt som GridSearchCV.
Swipe to start coding
Du får ett förbehandlat pingvindataset som är redo för modellträning.
Ditt mål är att justera hyperparametrarna för en KNeighborsClassifier-modell med hjälp av både grid search och randomized search-metoder.
- Definiera parametergriden med namnet
param_gridmed önskade värden förn_neighbors,weightsochp. - Initiera ett
RandomizedSearchCV-objekt med den definierade parametergriden och sättn_iter=20. - Initiera ett
GridSearchCV-objekt med samma parametergrid. - Träna båda sökobjekten på datasetet med metoden
.fit(X, y). - Skriv ut den bästa estimatormodellen från grid search med
.best_estimator_. - Skriv ut det bästa korsvalideringsresultatet från randomized search med
.best_score_.
Lösning
Du kan prova att köra koden flera gånger. Titta på skillnaden mellan de två poängen. Ibland kan poängen vara desamma på grund av förekomsten av de bästa parametrarna bland kombinationerna som valts av RandomizedSearchCV.
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Utmaning: Justering av Hyperparametrar med Randomizedsearchcv
Svep för att visa menyn
Principen för RandomizedSearchCV liknar GridSearchCV, men istället för att testa varje möjlig kombination utvärderas endast ett slumpmässigt urval av kombinationer.
Till exempel innehåller följande 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 skulle testa alla 100, vilket är tidskrävande. RandomizedSearchCV kan istället utvärdera en mindre delmängd, t.ex. 20 slumpmässigt valda kombinationer. Detta minskar beräkningstiden och ger vanligtvis resultat nära det bästa.
Antalet kombinationer som ska testas styrs av argumentet n_iter (standardvärde är 10). I övrigt används det på samma sätt som GridSearchCV.
Swipe to start coding
Du får ett förbehandlat pingvindataset som är redo för modellträning.
Ditt mål är att justera hyperparametrarna för en KNeighborsClassifier-modell med hjälp av både grid search och randomized search-metoder.
- Definiera parametergriden med namnet
param_gridmed önskade värden förn_neighbors,weightsochp. - Initiera ett
RandomizedSearchCV-objekt med den definierade parametergriden och sättn_iter=20. - Initiera ett
GridSearchCV-objekt med samma parametergrid. - Träna båda sökobjekten på datasetet med metoden
.fit(X, y). - Skriv ut den bästa estimatormodellen från grid search med
.best_estimator_. - Skriv ut det bästa korsvalideringsresultatet från randomized search med
.best_score_.
Lösning
Du kan prova att köra koden flera gånger. Titta på skillnaden mellan de två poängen. Ibland kan poängen vara desamma på grund av förekomsten av de bästa parametrarna bland kombinationerna som valts av RandomizedSearchCV.
Tack för dina kommentarer!
single