Korsvalideringsstatistik
Du använde grid search CV för att finjustera din random forest-klassificerare och vill nu granska korsvalideringsresultaten för att kontrollera att du inte har överanpassat modellen. I synnerhet vill du beräkna skillnaden mellan det genomsnittliga testresultatet för varje veck och det genomsnittliga träningsresultatet. Datamängden finns tillgänglig som X_train och y_train, pipelinen som pipe, och ett antal moduler är förinladdade, däribland pandas som pd och GridSearchCV().
Den här övningen är en del av kursen
Att designa maskininlärningsflöden i Python
Övningsinstruktioner
- Skapa ett grid search-objekt med tre korsvalideringsveck och se till att det returnerar statistik för både träning och test.
- Anpassa grid search-objektet till träningsdata.
- Spara korsvalideringsresultaten, som finns i attributet
cv_results_hos det anpassade CV-objektet, i en dataframe. - Skriv ut skillnaden mellan kolumnen med det genomsnittliga testresultatet och den med det genomsnittliga träningsresultatet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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'])