CommencezCommencez gratuitement

Sélection de modèle

La régularisation et la validation croisée sont deux outils puissants pour la sélection de modèle. La régularisation aide à éviter le surapprentissage, et la validation croisée garantit que vos modèles sont évalués correctement. Dans cet exercice, vous combinerez régularisation et validation croisée pour voir si les modèles diffèrent de façon significative. Vous calculerez uniquement la précision, même si le même exercice peut facilement s'appliquer au rappel et à d'autres mesures d'évaluation.

X_train, y_train, X_test, y_test sont disponibles dans votre espace de travail. pandas sous pd, numpy sous np, et sklearn sont aussi disponibles. Les fonctions precision_score() et recall_score() de sklearn.metrics sont disponibles, ainsi que KFold() et cross_val_score() de sklearn.model_selection.

Cette activité fait partie du cours

Prédire le CTR avec le Machine Learning en Python

Voir le cours

Instructions de l’exercice

  • Configurez une validation croisée K-Fold avec quatre divisions à l'aide de n_splits et assignez-la à k-fold.
  • Créez un classificateur par arbre de décision.
  • Utilisez k_fold pour exécuter la validation croisée et évaluer la précision et le rappel de votre modèle d'arbre de décision pour la valeur max_depth donnée.

Exercice interactif pratique

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

# Iterate over different levels of max depth and set up k-fold
for max_depth_val in [3, 5, 10]:
  k_fold = ____(____ = 4, random_state = 0, shuffle = True)
  clf = ____(____ = max_depth_val)
  print("Evaluating Decision Tree for max_depth = %s" %(max_depth_val))
  y_pred = clf.fit(____, ____).predict(____) 
  
  # Calculate precision for cross validation and test
  cv_precision = ____(
    ____, X_train, y_train, cv = k_fold, scoring = 'precision_weighted')
  precision = ____(y_test, y_pred, average = 'weighted')
  print("Cross validation Precision: %s" %(cv_precision))
  print("Test Precision: %s" %(precision))
Modifier et exécuter le code