`KFold()` di scikit-learn
Hai appena eseguito il codice di un collega che crea un modello di random forest e calcola un'accuratezza out-of-sample. Hai notato che nel codice del tuo collega mancava il random state e gli errori che hai trovato erano completamente diversi da quelli riportati dal collega.
Per ottenere una stima migliore di quanto sarà accurato questo modello di random forest su nuovi dati, hai deciso di generare alcuni indici da usare per la cross-validation con KFold.
Questo esercizio fa parte del corso
Validazione dei modelli in Python
Istruzioni dell'esercizio
- Chiama il metodo
KFold()per suddividere i dati usando cinque split, con shuffling e un random state pari a 1111. - Usa il metodo
split()diKFoldsuX. - Stampa il numero di indici sia nella lista degli indici di training sia in quella degli indici di validazione.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
from sklearn.model_selection import KFold
# Use KFold
kf = KFold(____, ____, ____)
# Create splits
splits = kf.____(____)
# Print the number of indices
for train_index, val_index in splits:
print("Number of training indices: %s" % len(____))
print("Number of validation indices: %s" % len(____))