LoslegenKostenlos loslegen

RandomizedSearchCV in Scikit Learn

Lass uns üben, ein RandomizedSearchCV-Objekt mit Scikit Learn zu erstellen.

Das Hyperparameter-Raster soll max_depth (alle Werte zwischen einschließlich 5 und 25) und max_features ("auto" und "sqrt") enthalten.

Die gewünschten Optionen für das RandomizedSearchCV-Objekt sind:

  • Ein RandomForestClassifier-Schätzer mit n_estimators von 80.
  • 3-fache Kreuzvalidierung (cv)
  • Verwende roc_auc, um die Modelle zu bewerten
  • Nutze 4 Kerne für parallele Verarbeitung (n_jobs)
  • Sorge dafür, dass das beste Modell erneut trainiert (refit) wird und Trainingsscores zurückgegeben werden
  • Ziehe aus Effizienzgründen nur 5 Stichproben von Modellen (n_iter)

Die Datensätze X_train und y_train sind für dich geladen.

Denk daran: Um die gewählten Hyperparameter zu extrahieren, findest du sie in cv_results_ mit jeweils einer Spalte pro Hyperparameter. Die Spalte für den Hyperparameter criterion wäre zum Beispiel param_criterion.

Diese Übung ist Teil des Kurses

Hyperparameter-Tuning in Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle ein Hyperparameter-Raster wie oben beschrieben.
  • Erstelle ein RandomizedSearchCV-Objekt wie oben beschrieben.
  • Fitte das RandomizedSearchCV-Objekt an die Trainingsdaten.
  • Greife auf das Objekt cv_results_ zu und gib die vom Modellierungsprozess gewählten Werte für beide Hyperparameter (max_depth und max_features) aus.

Interaktive Übung

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

# Create the parameter grid
param_grid = {'max_depth': list(range(____,26)), 'max_features': [____ , ____]} 

# Create a random search object
random_rf_class = RandomizedSearchCV(
    estimator = ____(n_estimators=____),
    param_distributions = ____, n_iter = ____,
    scoring=____, n_jobs=____, cv = ____, refit=____, return_train_score = ____ )

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

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