IniziaInizia gratis

Validazione incrociata K-fold

Inizierai facendo pratica con la validazione incrociata K-fold, la più utilizzata.

I dati con cui lavorerai provengono dalla competizione Kaggle "Two sigma connect: rental listing inquiries". Il problema della competizione è una classificazione multiclasse degli annunci di affitto in 3 classi: interesse basso, medio e alto. Per avere prestazioni più rapide, lavorerai con un sottoinsieme di 1.000 osservazioni.

Devi implementare una strategia di validazione K-fold e osservare le dimensioni di ciascun fold ottenuto. Il DataFrame train è già disponibile nel tuo workspace.

Questo esercizio fa parte del corso

Vincere una competizione Kaggle con Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un oggetto KFold con 3 fold.
  • Itera su ciascuna suddivisione usando l'oggetto kf.
  • Per ogni split seleziona i fold di training e testing usando train_index e test_index.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Import KFold
from sklearn.model_selection import KFold

# Create a KFold object
kf = ____(n_splits=____, shuffle=True, random_state=123)

# Loop through each split
fold = 0
for train_index, test_index in ____.____(train):
    # Obtain training and testing folds
    cv_train, cv_test = train.iloc[____], train.iloc[____]
    print('Fold: {}'.format(fold))
    print('CV train shape: {}'.format(cv_train.shape))
    print('Medium interest listings in CV train: {}\n'.format(sum(cv_train.interest_level == 'medium')))
    fold += 1
Modifica ed esegui il codice