Aan de slagGa gratis aan de slag

Statistieken van cross-validatie

Je hebt grid search CV gebruikt om je random forest-classifier af te stemmen en wilt nu de cross-validatieresultaten bekijken om zeker te weten dat je niet hebt overfit. Je wilt specifiek per fold het verschil nemen tussen de gemiddelde testscore en de gemiddelde trainingsscore. De gegevensset is beschikbaar als X_train en y_train, de pipeline als pipe, en een aantal modules zijn al geladen, waaronder pandas als pd en GridSearchCV().

Deze oefening maakt deel uit van de cursus

Machine Learning-workflows ontwerpen in Python

Cursus bekijken

Oefeninstructies

  • Maak een gridsearch-object met drie cross-validatiefolds en zorg dat het zowel trainings- als teststatistieken teruggeeft.
  • Fit het gridsearch-object op de trainingsgegevens.
  • Sla de resultaten van de cross-validatie, beschikbaar in het attribuut cv_results_ van het gefitte CV-object, op in een dataframe.
  • Print het verschil tussen de kolom met de gemiddelde testscore en die met de gemiddelde trainingsscore.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren