LoslegenKostenlos loslegen

Cross-Validation-Statistiken

Du hast Grid-Search-CV verwendet, um deinen Random-Forest-Klassifikator zu tunen, und möchtest nun die Cross-Validation-Ergebnisse prüfen, um sicherzugehen, dass du nicht überfitten hast. Konkret möchtest du für jeden Fold die Differenz zwischen dem mittleren Test-Score und dem mittleren Trainings-Score berechnen. Der Datensatz liegt als X_train und y_train vor, die Pipeline als pipe, und mehrere Module sind bereits geladen, darunter pandas als pd und GridSearchCV().

Diese Übung ist Teil des Kurses

Machine-Learning-Workflows in Python entwerfen

Kurs anzeigen

Anleitung zur Übung

  • Erzeuge ein Grid-Search-Objekt mit drei Cross-Validation-Folds und stelle sicher, dass es sowohl Trainings- als auch Teststatistiken zurückgibt.
  • Fitte das Grid-Search-Objekt auf die Trainingsdaten.
  • Speichere die Ergebnisse der Cross-Validation, verfügbar im Attribut cv_results_ des trainierten CV-Objekts, in einem DataFrame.
  • Gib die Differenz zwischen der Spalte mit dem durchschnittlichen Test-Score und der mit dem durchschnittlichen Trainings-Score aus.

Interaktive Übung

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

# Fit your pipeline using GridSearchCV with three folds
grid_search = GridSearchCV(
  pipe, params, ____=3, return_train_score=____)

# Fit the grid search
gs = grid_search.____(____, ____)

# Store the results of CV into a pandas dataframe
results = pd.____(gs.____)

# Print the difference between mean test and training scores
print(
  results[____]-results['mean_train_score'])
Code bearbeiten und ausführen