CommencezCommencez gratuitement

Validation croisée avec sklearn

Comme expliqué au chapitre 2, le surapprentissage d'un jeu de données est un problème courant en analytique. Cela se produit lorsqu'un modèle apprend trop fidèlement les données : il a d'excellentes performances sur le jeu d'entraînement, mais n'arrive pas à généraliser à l'extérieur de celui-ci.

Bien que la technique de division entraînement/test que vous avez apprise au chapitre 2 empêche le modèle de surapprendre l'ensemble d'entraînement, l'ajustement des hyperparamètres peut mener à un surapprentissage de la portion test, puisqu'il consiste à peaufiner le modèle pour obtenir les meilleurs résultats de prédiction sur l'ensemble de test. Il est donc recommandé de valider le modèle sur différents ensembles de test. La validation croisée en k volets permet d'y parvenir :

  • elle divise le jeu de données en un ensemble d'entraînement et un ensemble de test
  • elle ajuste le modèle, fait des prédictions et calcule un score (vous pouvez préciser si vous voulez l'exactitude, la précision, le rappel…)
  • elle répète le processus k fois au total
  • elle produit la moyenne des 10 scores

Dans cet exercice, vous utiliserez la validation croisée sur notre jeu de données et évaluerez nos résultats avec la fonction cross_val_score.

Cette activité fait partie du cours

Analytique RH : prédire le roulement du personnel avec Python

Voir le cours

Instructions de l’exercice

  • Importez la fonction qui réalise la validation croisée, cross_val_score(), depuis le module sklearn.model_selection.
  • Affichez le score de validation croisée pour votre modèle en spécifiant 10 volets avec l'hyperparamètre cv.

Exercice interactif pratique

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

# Import the function for implementing cross validation
from sklearn.model_selection import ____

# Use that function to print the cross validation score for 10 folds
print(____(model,features,target,____=10))
Modifier et exécuter le code