Mettre le champion au défi
Après avoir déployé votre random forest en production, vous craignez soudain qu'un classifieur naïf bayésien fasse mieux. Vous voulez effectuer un test champion‑défiant, en comparant un modèle naïf bayésien, qui jouera le rôle de défiant, exactement au modèle actuellement en production, que vous chargerez à partir d'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().
Cette activité fait partie du cours
Concevoir des flux de travail Machine Learning en Python
Instructions de l’exercice
- Chargez le modèle existant en mémoire à l'aide de
pickle. - Entraînez un classifieur bayésien naïf gaussien sur les données d'entraînement.
- Affichez le score F1 du champion puis celui du défiant sur les données de test.
- Écrasez sur le disque le modèle actuel avec celui qui a obtenu le meilleur rendement.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)