Sélectionner le meilleur modèle en précision
Votre responsable vous propose de financer trois matchs sportifs cette année. Sur les 41 matchs à domicile de votre équipe préférée, vous voulez être sûr d’assister à trois matchs à domicile qu’elle gagnera à coup sûr. Vous construisez un modèle pour décider quels matchs votre équipe va gagner.
Pour cela, vous allez créer un algorithme de recherche aléatoire et vous concentrer sur la précision du modèle (pour garantir la victoire de votre équipe). Vous souhaitez également conserver la trace de votre meilleur modèle et de 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 d’utiliser le modèle de classification random forest rfc et généré une distribution de paramètres param_dist.
Cet exercice fait partie du cours
Validation des modèles en Python
Instructions
- Créez un évaluateur de précision,
precision, en utilisantmake_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 cet exemple de code.
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.____))