Sfida il campione
Dopo aver messo in produzione la tua random forest, ti viene il dubbio che un classificatore naive Bayes possa fare meglio. Vuoi eseguire un test campione-sfidante, confrontando un naive Bayes, come sfidante, con esattamente il modello attualmente in produzione, che caricherai da file per evitare qualsiasi confusione. Userai il punteggio F1 per la valutazione. Hai a disposizione i dati X_train, X_test, y_train e y_test come prima e GaussianNB(), f1_score() e pickle().
Questo esercizio fa parte del corso
Progettare workflow di Machine Learning in Python
Istruzioni dell'esercizio
- Carica il modello esistente dalla memoria usando
pickle. - Addestra un classificatore Gaussian Naive Bayes sui dati di training.
- Stampa il punteggio F1 del campione e poi quello dello sfidante sui dati di test.
- Sovrascrivi su disco il modello corrente con quello che ha ottenuto le prestazioni migliori.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)