CommencerCommencer 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 une évaluation correcte de vos modèles. Dans cet exercice, vous allez combiner régularisation et validation croisée pour voir si les modèles diffèrent de manière significative. Vous calculerez uniquement la précision, mais le même exercice peut facilement être réalisé pour le rappel et d’autres métriques 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 également disponibles. precision_score() et recall_score() de sklearn.metrics sont disponibles, ainsi que KFold() et cross_val_score() de sklearn.model_selection.

Cet exercice fait partie du cours

Prédire le CTR avec le Machine Learning en Python

Afficher le cours

Instructions

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

Exercice interactif pratique

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

# 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