CommencerCommencer gratuitement

Mettre toutes les pièces ensemble

Vous avez deux préoccupations au sujet de votre pipeline dans la start-up de détection d’arythmies :

  • L’application a été entraînée sur des patient·e·s de tous âges, mais elle est principalement utilisée par des personnes adeptes de fitness, qui ont tendance à être jeunes. Vous soupçonnez un cas de « domain shift » et souhaitez donc écarter tous les exemples de plus de 50 ans.
  • Vous craignez toujours l’overfitting, et vous voulez vérifier si rendre le classifieur random forest moins complexe et sélectionner certaines caractéristiques peut aider.

Vous allez créer un pipeline avec une étape de sélection de caractéristiques SelectKBest() et un RandomForestClassifier, tous deux déjà importés. Vous avez également accès à GridSearchCV(), Pipeline, numpy sous le nom np et pickle. Les données sont disponibles sous arrh.

Cet exercice fait partie du cours

Concevoir des workflows de Machine Learning en Python

Afficher le cours

Instructions

  • Créez un pipeline avec SelectKBest() sous le nom d’étape ft et RandomForestClassifier() sous le nom d’étape clf.
  • Créez une grille de paramètres pour ajuster k dans SelectKBest() et max_depth dans RandomForestClassifier().
  • Utilisez GridSearchCV() pour optimiser votre pipeline selon cette grille sur les données contenant uniquement les personnes de moins de 50 ans.
  • Enregistrez le pipeline optimisé dans un fichier pickle pour la production.

Exercice interactif pratique

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

# Create a pipeline 
pipe = Pipeline([
  ('ft', ____), ('clf', ____(random_state=2))])

# Create a parameter grid
grid = {'ft__k':[5, 10], '____':[10, 20]}

# Execute grid search CV on a dataset containing under 50s
grid_search = ____(pipe, param_grid=grid)
arrh = arrh.____[____(arrh['age'] < 50)]
____.____(arrh.drop('class', 1), arrh['class'])

# Push the fitted pipeline to production
with ____('pipe.pkl', ____) as file:
    pickle.dump(____, file)
Modifier et exécuter le code