CommencezCommencez gratuitement

Mettre le tout ensemble

Vous venez de rejoindre une jeune pousse spécialisée dans la détection d'arythmies et souhaitez entraîner un modèle sur l'ensemble de données d'arythmies arrh. Vous avez remarqué que les forêts aléatoires gagnent souvent des compétitions Kaggle, donc vous voulez les essayer avec une profondeur maximale de 2, 5 ou 10, au moyen d'une recherche sur grille. Vous observez aussi que la dimension de l'ensemble de données est assez élevée, donc vous souhaitez examiner l'effet d'une méthode de sélection de caractéristiques.

Pour éviter le surapprentissage par inadvertance, vous avez déjà fractionné vos données. Vous utiliserez X_train et y_train pour la recherche sur grille, et X_test et y_test pour décider si la sélection de caractéristiques aide. Les quatre volets de l'ensemble de données sont déjà chargés dans votre environnement. Vous avez aussi accès à GridSearchCV(), train_test_split(), SelectKBest(), chi2() et à RandomForestClassifier en tant que rfc.

Cette activité fait partie du cours

Concevoir des flux de travail Machine Learning en Python

Voir le cours

Instructions de l’exercice

  • Utilisez une recherche sur grille pour tester une profondeur maximale de 2, 5 et 10 pour RandomForestClassifier et enregistrez la meilleure configuration de paramètre.
  • Réajustez ensuite l'estimateur en utilisant le meilleur nombre d'estimateurs déterminé ci-dessus.
  • Appliquez le sélecteur de caractéristiques SelectKBest avec la fonction de pointage chi2 et réajustez le classificateur.

Exercice interactif pratique

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

# Find the best value for max_depth among values 2, 5 and 10
grid_search = GridSearchCV(
  ____(random_state=1), param_grid=____)
best_value = grid_search.____(
  ____, ____).best_params_['max_depth']

# Using the best value from above, fit a random forest
clf = rfc(
  random_state=1, ____=best_value).____(X_train, y_train)

# Apply SelectKBest with chi2 and pick top 100 features
vt = SelectKBest(____, k=____).____(X_train, y_train)

# Create a new dataset only containing the selected features
X_train_reduced = ____.transform(____)
Modifier et exécuter le code