CommencerCommencez gratuitement

Validation croisée K-fold

Vous allez commencer par vous exercer à la validation croisée K-fold, la plus couramment utilisée.

Les données utilisées proviennent de la compétition Kaggle « Two sigma connect: rental listing inquiries ». Le problème de la compétition est une classification multi-classes des annonces de location en 3 catégories : faible intérêt, intérêt moyen et fort intérêt. Pour accélérer l’exécution, vous travaillerez sur un sous-échantillon de 1 000 observations.

Vous devez mettre en place une stratégie de validation K-fold et examiner la taille de chaque fold obtenu. Le DataFrame train est déjà disponible dans votre environnement de travail.

Cet exercice fait partie du cours

<cours>Gagner une compétition Kaggle en Python</cours>
Voir le cours

Instructions de l’exercice

  • Créez un objet KFold avec 3 folds.
  • Itérez sur chaque partition à l’aide de l’objet kf.
  • Pour chaque partition, sélectionnez les folds d’entraînement et de test en utilisant train_index et test_index.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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
Modifier et exécuter le code