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>Instructions de l’exercice
- Créez un objet
KFoldavec 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_indexettest_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