Daag de kampioen uit
Je hebt je random forest in productie gezet, maar je vraagt je ineens af of een naive Bayes-classifier niet beter is. Je wilt een champion-challenger-test uitvoeren door een naive Bayes als uitdager te vergelijken met precies het model dat nu in productie staat. Dat laad je uit een bestand om verwarring te voorkomen. Je gebruikt de F1-score voor de beoordeling. Je hebt de data X_train, X_test, y_train en y_test beschikbaar zoals eerder, en GaussianNB(), f1_score() en pickle().
Deze oefening maakt deel uit van de cursus
Machine Learning-workflows ontwerpen in Python
Oefeninstructies
- Laad het bestaande model uit het geheugen met
pickle. - Train een Gaussian Naive Bayes-classifier op de trainingsdata.
- Print de F1-score van eerst de kampioen en daarna de uitdager op de testdata.
- Overschrijf het huidige model op schijf met het model dat het beste presteerde.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)