IniziaInizia gratis

Cross-validation con sklearn

Come spiegato nel Capitolo 2, l’overfitting dell’insieme di dati è un problema comune nell’analisi. Succede quando un modello impara i dati “a memoria”: ha ottime prestazioni sull’insieme su cui è stato addestrato, ma non riesce a generalizzare al di fuori di esso.

Anche se la tecnica di train/test split che hai visto nel Capitolo 2 assicura che il modello non faccia overfit sul training set, il tuning degli iperparametri può portare a fare overfit sulla componente di test, perché consiste nell’ottimizzare il modello per ottenere i risultati migliori proprio sul test set. Per questo è consigliato validare il modello su insiemi di test diversi. La K-fold cross-validation ci permette di farlo:

  • suddivide l’insieme di dati in un training set e un testing set
  • addestra il modello, effettua le predizioni e calcola uno score (puoi specificare se vuoi accuracy, precision, recall…)
  • ripete il processo per k volte in totale
  • restituisce la media dei 10 punteggi

In questo esercizio userai la Cross Validation sul nostro insieme di dati e valuterai i risultati con la funzione cross_val_score.

Questo esercizio fa parte del corso

HR Analytics: prevedere l'abbandono dei dipendenti in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Importa la funzione per implementare la cross-validation, cross_val_score(), dal modulo sklearn.model_selection.
  • Stampa lo score di cross-validation per il tuo modello, specificando 10 fold con l’iperparametro cv.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Import the function for implementing cross validation
from sklearn.model_selection import ____

# Use that function to print the cross validation score for 10 folds
print(____(model,features,target,____=10))
Modifica ed esegui il codice