Киньте виклик чемпіону
Ви вже розгорнули випадковий ліс у продакшені, але раптом занепокоїлися, що наївний Байєс може бути кращим. Ви хочете провести тест «чемпіон—претендент», порівнявши наївний Байєс як претендента з точно тією моделлю, що зараз у продакшені, яку ви завантажите з файла, щоб уникнути плутанини. Для оцінювання ви використаєте метрику F1. У вашому розпорядженні є дані X_train, X_test, y_train і y_test, а також GaussianNB(), f1_score() і pickle().
Ця вправа є частиною курсу
Проєктування робочих процесів машинного навчання в Python
Інструкції до вправи
- Завантажте наявну модель з памʼяті за допомогою
pickle. - Навчіть класифікатор Gaussian Naive Bayes на тренувальних даних.
- Виведіть F1-міру спочатку для чемпіона, а потім для претендента на тестових даних.
- Перезапишіть поточну модель на диску тією, що показала найкращий результат.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)