Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Justering av Hyperparametrar med Randomizedsearchcv | Modellering
Introduktion till ML med Scikit-learn

bookUtmaning: 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.

Uppgift

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.

  1. Definiera parametergriden med namnet param_grid med önskade värden för n_neighbors, weights och p.
  2. Initiera ett RandomizedSearchCV-objekt med den definierade parametergriden och sätt n_iter=20.
  3. Initiera ett GridSearchCV-objekt med samma parametergrid.
  4. Träna båda sökobjekten på datasetet med metoden .fit(X, y).
  5. Skriv ut den bästa estimatormodellen från grid search med .best_estimator_.
  6. Skriv ut det bästa korsvalideringsresultatet från randomized search med .best_score_.

Lösning

Note
Notera

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.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 8
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.13

bookUtmaning: 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.

Uppgift

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.

  1. Definiera parametergriden med namnet param_grid med önskade värden för n_neighbors, weights och p.
  2. Initiera ett RandomizedSearchCV-objekt med den definierade parametergriden och sätt n_iter=20.
  3. Initiera ett GridSearchCV-objekt med samma parametergrid.
  4. Träna båda sökobjekten på datasetet med metoden .fit(X, y).
  5. Skriv ut den bästa estimatormodellen från grid search med .best_estimator_.
  6. Skriv ut det bästa korsvalideringsresultatet från randomized search med .best_score_.

Lösning

Note
Notera

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.

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 8
single

single

some-alt