Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Herausforderung: Abstimmung von Hyperparametern mit RandomizedSearchCV | Modellierung
ML-Einführung Mit Scikit-Learn

bookHerausforderung: Abstimmung von Hyperparametern mit RandomizedSearchCV

Das Prinzip von RandomizedSearchCV ähnelt dem von GridSearchCV, jedoch wird anstelle jeder möglichen Kombination nur eine zufällig ausgewählte Teilmenge bewertet.

Zum Beispiel enthält das folgende param_grid 100 Kombinationen:

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

GridSearchCV würde alle 100 testen, was zeitaufwendig ist. RandomizedSearchCV kann stattdessen eine kleinere Teilmenge bewerten, z. B. 20 zufällig ausgewählte Kombinationen. Dies reduziert die Rechenzeit und liefert in der Regel Ergebnisse, die nahe am Optimum liegen.

Die Anzahl der zu testenden Kombinationen wird durch das Argument n_iter gesteuert (Standardwert ist 10). Ansonsten ist die Verwendung identisch mit GridSearchCV.

Aufgabe

Swipe to start coding

Ein vorverarbeiteter Pinguin-Datensatz steht für das Modelltraining bereit. Das Ziel ist es, die Hyperparameter eines KNeighborsClassifier-Modells mithilfe von Grid Search und Randomized Search Methoden zu optimieren.

  1. Definition des Parametergrids mit dem Namen param_grid mit den gewünschten Werten für n_neighbors, weights und p.
  2. Initialisierung eines RandomizedSearchCV-Objekts mit dem definierten Parametergrid und Einstellung von n_iter=20.
  3. Initialisierung eines GridSearchCV-Objekts mit demselben Parametergrid.
  4. Training beider Suchobjekte auf dem Datensatz mit der Methode .fit(X, y).
  5. Ausgabe des besten Schätzers aus der Grid Search mit .best_estimator_.
  6. Ausgabe des besten Kreuzvalidierungs-Scores aus der Randomized Search mit .best_score_.

Lösung

Note
Hinweis

Der Code kann mehrmals ausgeführt werden. Die Unterschiede zwischen den beiden Scores beobachten. Manchmal können die Scores identisch sein, da die besten Parameter unter den von RandomizedSearchCV ausgewählten Kombinationen enthalten sind.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 8
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

close

Awesome!

Completion rate improved to 3.13

bookHerausforderung: Abstimmung von Hyperparametern mit RandomizedSearchCV

Swipe um das Menü anzuzeigen

Das Prinzip von RandomizedSearchCV ähnelt dem von GridSearchCV, jedoch wird anstelle jeder möglichen Kombination nur eine zufällig ausgewählte Teilmenge bewertet.

Zum Beispiel enthält das folgende param_grid 100 Kombinationen:

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

GridSearchCV würde alle 100 testen, was zeitaufwendig ist. RandomizedSearchCV kann stattdessen eine kleinere Teilmenge bewerten, z. B. 20 zufällig ausgewählte Kombinationen. Dies reduziert die Rechenzeit und liefert in der Regel Ergebnisse, die nahe am Optimum liegen.

Die Anzahl der zu testenden Kombinationen wird durch das Argument n_iter gesteuert (Standardwert ist 10). Ansonsten ist die Verwendung identisch mit GridSearchCV.

Aufgabe

Swipe to start coding

Ein vorverarbeiteter Pinguin-Datensatz steht für das Modelltraining bereit. Das Ziel ist es, die Hyperparameter eines KNeighborsClassifier-Modells mithilfe von Grid Search und Randomized Search Methoden zu optimieren.

  1. Definition des Parametergrids mit dem Namen param_grid mit den gewünschten Werten für n_neighbors, weights und p.
  2. Initialisierung eines RandomizedSearchCV-Objekts mit dem definierten Parametergrid und Einstellung von n_iter=20.
  3. Initialisierung eines GridSearchCV-Objekts mit demselben Parametergrid.
  4. Training beider Suchobjekte auf dem Datensatz mit der Methode .fit(X, y).
  5. Ausgabe des besten Schätzers aus der Grid Search mit .best_estimator_.
  6. Ausgabe des besten Kreuzvalidierungs-Scores aus der Randomized Search mit .best_score_.

Lösung

Note
Hinweis

Der Code kann mehrmals ausgeführt werden. Die Unterschiede zwischen den beiden Scores beobachten. Manchmal können die Scores identisch sein, da die besten Parameter unter den von RandomizedSearchCV ausgewählten Kombinationen enthalten sind.

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 8
single

single

some-alt