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
Instructions de l’exercice
- Créez un mesureur de précision,
precision, à l'aide demake_scorer(<scoring_function>). - Complétez la méthode de recherche aléatoire en utilisant
rfcetparam_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.____))