Desafie o campeão
Depois de colocar sua random forest em produção, você ficou na dúvida se um classificador Naive Bayes poderia ser melhor. Você quer rodar um teste champion-challenger, comparando um Naive Bayes, atuando como desafiador, exatamente com o modelo que está em produção agora, que você vai carregar do arquivo para evitar qualquer confusão. Você usará o F1 score para a avaliação. Você tem os dados X_train, X_test, y_train e y_test disponíveis como antes e GaussianNB(), f1_score() e pickle().
Este exercício faz parte do curso
Projetando Workflows de Machine Learning em Python
Instruções do exercício
- Carregue o modelo existente da memória usando
pickle. - Ajuste um classificador Gaussian Naive Bayes aos dados de treino.
- Imprima o F1 score do campeão e depois o do desafiador nos dados de teste.
- Sobrescreva o modelo atual em disco com aquele que teve melhor desempenho.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)