LoslegenKostenlos loslegen

Das RandomizedSearchCV-Objekt

Genau wie die GridSearchCV-Bibliothek von Scikit-Learn bietet RandomizedSearchCV viele hilfreiche Funktionen, um eine Random Search effizient durchzuführen. Du wirst ein RandomizedSearchCV-Objekt erstellen und die kleine Anpassung gegenüber dem GridSearchCV-Objekt vornehmen.

Die gewünschten Optionen sind:

  • Ein Standard-Gradient-Boosting-Classifier (Estimator)
  • 5-fache Kreuzvalidierung
  • Verwende Accuracy zur Bewertung der Modelle
  • Nutze 4 Kerne für parallele Verarbeitung
  • Sorge dafür, dass das beste Modell erneut trainiert (refit) wird und Trainingsscores zurückgegeben werden
  • Ziehe zufällig 10 Modellkonfigurationen

Das Hyperparameterraster sollte learning_rate (150 Werte zwischen 0,1 und 2) und min_samples_leaf (alle Werte zwischen einschließlich 20 und 64) enthalten.

Dir stehen die Datensätze X_train und y_train zur Verfügung.

Diese Übung ist Teil des Kurses

Hyperparameter-Tuning in Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle ein Parameter-Raster wie oben beschrieben.
  • Erstelle ein RandomizedSearchCV-Objekt wie oben skizziert.
  • Fitte das RandomizedSearchCV-Objekt auf die Trainingsdaten.
  • Gib die vom Modellierungsprozess gewählten Werte für beide Hyperparameter aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Create the parameter grid
param_grid = {'learning_rate': np.linspace(____,____,150), 'min_samples_leaf': list(range(____,65))} 

# Create a random search object
random_GBM_class = ____(
    estimator = ____,
    ____ = param_grid,
    ____ = 10,
    scoring='____', n_jobs=____, cv = ____, refit=____, return_train_score = ____)

# Fit to the training data
random_GBM_class.fit(____, ____)

# Print the values used for both hyperparameters
print(random_GBM_class.____['param_learning_rate'])
print(random_GBM_class.cv_results_['____'])
Code bearbeiten und ausführen