Mettre le champion au défi
Après avoir déployé votre random forest en production, vous vous demandez soudain si un classifieur naïf Bayes ne ferait pas mieux. Vous souhaitez lancer un test champion‑challenger, en comparant un naïf Bayes, en tant que challenger, exactement au modèle actuellement en production, que vous chargerez depuis un fichier pour éviter toute confusion. Vous utiliserez le score F1 pour l’évaluation. Vous disposez comme précédemment des données X_train, X_test, y_train et y_test, ainsi que de GaussianNB(), f1_score() et pickle().
Cet exercice fait partie du cours
Concevoir des workflows de Machine Learning en Python
Instructions
- Chargez le modèle existant depuis la mémoire à l’aide de
pickle. - Entraînez un classifieur Gaussian Naive Bayes sur les données d’entraînement.
- Affichez le score F1 du champion puis celui du challenger sur les données de test.
- Écrasez le modèle actuel sur le disque avec celui qui a obtenu les meilleures performances.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Load the current model from disk
champion = pickle.____(open('model.pkl', ____))
# Fit a Gaussian Naive Bayes to the training data
challenger = ____.____(X_train, y_train)
# Print the F1 test scores of both champion and challenger
print(____(y_test, champion.____(X_test)))
print(____)
# Write back to disk the best-performing model
with open('model.pkl', 'wb') as file:
pickle.____(____, file=file)