LoslegenKostenlos loslegen

GridSearchCV zur Ermittlung optimaler Hyperparameter

In dieser Übung wirst du unser Modell auf weniger „zufällige“ Weise feinjustieren und GridSearchCV die Arbeit für dich übernehmen lassen.

Mit GridSearchCV kannst du definieren, welche Leistungskennzahl für die Bewertung herangezogen wird. Da wir bei der Betrugserkennung vor allem daran interessiert sind, möglichst viele Betrugsfälle zu erwischen, kannst du die Modelleinstellungen so optimieren, dass du den bestmöglichen Recall erhältst. Wenn dir außerdem wichtig wäre, die Zahl der False Positives zu senken, könntest du auf den F1-Score optimieren – das gibt dir den gewünschten Trade-off zwischen Precision und Recall.

GridSearchCV wurde bereits aus sklearn.model_selection importiert, also probieren wir es aus!

Diese Übung ist Teil des Kurses

Betrugserkennung mit Python

Kurs anzeigen

Anleitung zur Übung

  • Definiere im Parameter-Grid, dass du 1 und 30 Bäume ausprobieren willst und dass du die Split-Kriterien gini und entropy testen möchtest.
  • Definiere als Modell einen einfachen RandomForestClassifier; setze random_state auf 5, um Modelle vergleichen zu können.
  • Setze die Option scoring so, dass auf Recall optimiert wird.
  • Trainiere das Modell mit den Trainingsdaten X_train und y_train und ermittle die besten Parameter für das Modell.

Interaktive Übung

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

# Define the parameter sets to test
param_grid = {'n_estimators': [____, ____], 'max_features': ['auto', 'log2'],  'max_depth': [4, 8], 'criterion': ['____', '____']
}

# Define the model to use
model = ____(random_state=5)

# Combine the parameter sets with the defined model
CV_model = GridSearchCV(estimator=model, param_grid=param_grid, cv=5, scoring='____', n_jobs=-1)

# Fit the model to our training data and obtain best parameters
CV_model.fit(____, ____)
CV_model.____
Code bearbeiten und ausführen