Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitdaging: Afstemmen van Hyperparameters met Randomizedsearchcv | Modellering
Introductie tot Machine Learning met Python

bookUitdaging: Afstemmen van Hyperparameters met Randomizedsearchcv

Het principe van RandomizedSearchCV lijkt op dat van GridSearchCV, maar in plaats van elke mogelijke combinatie te testen, evalueert het slechts een willekeurig geselecteerde subset.

Bijvoorbeeld, de volgende param_grid bevat 100 combinaties:

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

GridSearchCV zou ze alle 100 testen, wat tijdrovend is. RandomizedSearchCV kan in plaats daarvan een kleinere subset evalueren, bijvoorbeeld 20 willekeurig gekozen combinaties. Dit vermindert de rekentijd en levert meestal resultaten op die dicht bij het optimum liggen.

Het aantal te testen combinaties wordt bepaald door het argument n_iter (standaard is 10). Verder is het gebruik hetzelfde als bij GridSearchCV.

Taak

Swipe to start coding

Je krijgt een voorbewerkte pinguïn-dataset die klaar is voor modeltraining. Je doel is om de hyperparameters van een KNeighborsClassifier-model af te stemmen met behulp van zowel grid search als randomized search methoden.

  1. Definieer het parameterrooster genaamd param_grid met de gewenste waarden voor n_neighbors, weights en p.
  2. Initialiseer een RandomizedSearchCV-object met het gedefinieerde parameterrooster en stel n_iter=20 in.
  3. Initialiseer een GridSearchCV-object met hetzelfde parameterrooster.
  4. Train beide zoekobjecten op de dataset met de .fit(X, y)-methode.
  5. Print de beste estimator uit de grid search met .best_estimator_.
  6. Print de beste cross-validatiescore uit de randomized search met .best_score_.

Oplossing

Note
Opmerking

Het is mogelijk om de code meerdere keren uit te voeren. Bekijk het verschil tussen de twee scores. Soms kunnen de scores gelijk zijn door de aanwezigheid van de beste parameters onder de combinaties die door RandomizedSearchCV zijn geselecteerd.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 8
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

close

Awesome!

Completion rate improved to 3.13

bookUitdaging: Afstemmen van Hyperparameters met Randomizedsearchcv

Veeg om het menu te tonen

Het principe van RandomizedSearchCV lijkt op dat van GridSearchCV, maar in plaats van elke mogelijke combinatie te testen, evalueert het slechts een willekeurig geselecteerde subset.

Bijvoorbeeld, de volgende param_grid bevat 100 combinaties:

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

GridSearchCV zou ze alle 100 testen, wat tijdrovend is. RandomizedSearchCV kan in plaats daarvan een kleinere subset evalueren, bijvoorbeeld 20 willekeurig gekozen combinaties. Dit vermindert de rekentijd en levert meestal resultaten op die dicht bij het optimum liggen.

Het aantal te testen combinaties wordt bepaald door het argument n_iter (standaard is 10). Verder is het gebruik hetzelfde als bij GridSearchCV.

Taak

Swipe to start coding

Je krijgt een voorbewerkte pinguïn-dataset die klaar is voor modeltraining. Je doel is om de hyperparameters van een KNeighborsClassifier-model af te stemmen met behulp van zowel grid search als randomized search methoden.

  1. Definieer het parameterrooster genaamd param_grid met de gewenste waarden voor n_neighbors, weights en p.
  2. Initialiseer een RandomizedSearchCV-object met het gedefinieerde parameterrooster en stel n_iter=20 in.
  3. Initialiseer een GridSearchCV-object met hetzelfde parameterrooster.
  4. Train beide zoekobjecten op de dataset met de .fit(X, y)-methode.
  5. Print de beste estimator uit de grid search met .best_estimator_.
  6. Print de beste cross-validatiescore uit de randomized search met .best_score_.

Oplossing

Note
Opmerking

Het is mogelijk om de code meerdere keren uit te voeren. Bekijk het verschil tussen de twee scores. Soms kunnen de scores gelijk zijn door de aanwezigheid van de beste parameters onder de combinaties die door RandomizedSearchCV zijn geselecteerd.

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 8
single

single

some-alt