CommencerCommencer gratuitement

Validation croisée avec sklearn

Comme expliqué au chapitre 2, le surapprentissage du jeu de données est un problème courant en analytique. Il survient lorsqu’un modèle apprend trop fidèlement les données : il obtient d’excellentes performances sur le jeu d’entraînement, mais généralise mal en dehors de celui-ci.

Bien que la technique de séparation entraînement/test que vous avez vue au chapitre 2 évite le surapprentissage sur l’ensemble d’entraînement, l’optimisation des hyperparamètres peut conduire à surajuster la partie test, puisqu’elle consiste à ajuster le modèle pour obtenir les meilleurs résultats prédictifs sur l’ensemble de test. Il est donc recommandé de valider le modèle sur différents jeux de test. La validation croisée en k folds permet précisément cela :

  • elle découpe le jeu de données en un ensemble d’entraînement et un ensemble de test ;
  • elle entraîne le modèle, effectue des prédictions et calcule un score (vous pouvez préciser si vous souhaitez l’accuracy, la précision, le rappel, etc.) ;
  • elle répète le processus k fois au total ;
  • elle renvoie la moyenne des 10 scores.

Dans cet exercice, vous allez appliquer la validation croisée sur notre jeu de données et évaluer les résultats avec la fonction cross_val_score.

Cet exercice fait partie du cours

Analytique RH : prédire l’attrition des employés en Python

Afficher le cours

Instructions

  • Importez la fonction qui permet d’effectuer une validation croisée, cross_val_score(), depuis le module sklearn.model_selection.
  • Affichez le score de validation croisée de votre modèle en spécifiant 10 folds avec l’hyperparamètre cv.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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