Вызов чемпиону
Вы запустили случайный лес в эксплуатацию, но вдруг засомневались: а вдруг наивный байесовский классификатор справится лучше? Вы хотите провести тест «чемпион против претендента»: сравнить наивный байес в роли претендента с моделью, которая сейчас работает в продакшене. Чтобы исключить путаницу, вы загрузите действующую модель из файла. Для оценки будет использоваться F1-показатель. Данные X_train, X_test, y_train и y_test доступны, как и прежде, а также GaussianNB(), f1_score() и pickle().
Это упражнение является частью курса
Проектирование рабочих процессов машинного обучения на Python
Инструкции к упражнению
- Загрузите существующую модель из памяти с помощью
pickle. - Обучите классификатор Гауссовского наивного байеса на обучающих данных.
- Выведите 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)