CommencezCommencez gratuitement

Choisir le meilleur modèle en précision

Votre patron accepte de payer pour que vous assistiez à trois matchs sportifs cette année. Sur les 41 matchs à domicile disputés par votre équipe préférée, vous voulez vous assurer d'aller à trois matchs à domicile qu'elle gagnera assurément. Vous construisez un modèle pour décider quels matchs votre équipe gagnera.

Pour ce faire, vous allez mettre en place une recherche aléatoire et vous concentrer sur la précision du modèle (pour vous assurer que votre équipe gagne). Vous voulez aussi garder en mémoire votre meilleur modèle et ses meilleurs hyperparamètres, afin de pouvoir les réutiliser l'an prochain (si le modèle performe bien, bien sûr). Vous avez déjà choisi le modèle de classification random forest rfc et généré une distribution de paramètres param_dist.

Cette activité fait partie du cours

Validation de modèles en Python

Voir le cours

Instructions de l’exercice

  • Créez un mesureur de précision, precision, à l'aide de make_scorer(<scoring_function>).
  • Complétez la méthode de recherche aléatoire en utilisant rfc et param_dist.
  • Utilisez rs.cv_results_ pour afficher les scores moyens de test.
  • Affichez le meilleur score global.

Exercice interactif pratique

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

from sklearn.metrics import precision_score, make_scorer

# Create a precision scorer
precision = ____(____)
# Finalize the random search
rs = RandomizedSearchCV(
  estimator=____, param_distributions=____,
  scoring = precision,
  cv=5, n_iter=10, random_state=1111)
rs.fit(X, y)

# print the mean test scores:
print('The accuracy for each run was: {}.'.format(rs.cv_results_['____']))
# print the best model score:
print('The best accuracy for a single model was: {}'.format(rs.____))
Modifier et exécuter le code