Votre première pipeline — encore !
De retour dans la startup d’arythmie, votre revue mensuelle approche et, dans ce cadre, un·e expert·e Python va passer votre code en revue. Vous décidez de faire le ménage en suivant les bonnes pratiques et de remplacer votre script de sélection de caractéristiques et de classification par forêt aléatoire par une pipeline. Vous utilisez un jeu d’entraînement disponible sous X_train et y_train, ainsi que plusieurs modules : RandomForestClassifier, SelectKBest() et f_classif() pour la sélection de caractéristiques, ainsi que GridSearchCV et Pipeline.
Cet exercice fait partie du cours
Concevoir des workflows de Machine Learning en Python
Instructions
- Créez une pipeline avec le sélecteur de caractéristiques fourni dans l’exemple de code, et un classifieur par forêt aléatoire. Nommez la première étape
feature_selection. - Ajoutez deux paires clé-valeur dans
params: une pour le nombre de caractéristiqueskdans le sélecteur avec les valeurs 10 et 20, et une pourn_estimatorsdans la forêt avec les valeurs possibles 2 et 5. - Initialisez un objet
GridSearchCVavec la pipeline et la grille de paramètres fournies. - Ajustez l’objet aux données et affichez la meilleure combinaison de paramètres.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create pipeline with feature selector and classifier
pipe = ___([
(___, SelectKBest(f_classif)),
('clf', ___(random_state=2))])
# Create a parameter grid
params = {
'feature_selection__k':___,
___:[2, 5]}
# Initialize the grid search object
grid_search = ___(___, ___=params)
# Fit it to the data and print the best value combination
print(grid_search.fit(___, ___).___)