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
Anleitung zur Übung
- Definiere im Parameter-Grid, dass du 1 und 30 Bäume ausprobieren willst und dass du die Split-Kriterien
giniundentropytesten möchtest. - Definiere als Modell einen einfachen RandomForestClassifier; setze
random_stateauf 5, um Modelle vergleichen zu können. - Setze die Option
scoringso, dass auf Recall optimiert wird. - Trainiere das Modell mit den Trainingsdaten
X_trainundy_trainund 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.____