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
Instructions
- 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 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