IniziaInizia gratis

Statistiche della cross-validation

Hai usato la grid search con CV per ottimizzare il tuo classificatore random forest e ora vuoi ispezionare i risultati della cross-validation per assicurarti di non aver fatto overfitting. In particolare, vuoi calcolare la differenza tra la media del punteggio sul test per ciascun fold e la media del punteggio sul training. Il dataset è disponibile come X_train e y_train, la pipeline come pipe, e diversi moduli sono già caricati, inclusi pandas come pd e GridSearchCV().

Questo esercizio fa parte del corso

Progettare workflow di Machine Learning in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un oggetto di grid search con tre fold di cross-validation e assicurati che restituisca sia le statistiche di training sia quelle di test.
  • Adestra l’oggetto di grid search sui dati di training.
  • Salva i risultati della cross-validation, disponibili nell’attributo cv_results_ dell’oggetto CV addestrato, in un dataframe.
  • Stampa la differenza tra la colonna che contiene la media dei punteggi sul test e quella che contiene la media dei punteggi sul training.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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'])
Modifica ed esegui il codice