CommencerCommencer 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

Gagner une compétition Kaggle en Python

Afficher le cours

Instructions

  • 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 cet exemple de code.

# 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