Wyzwanie dla mistrza
Po wdrożeniu losowego lasu na produkcję zaczynasz się zastanawiać, czy klasyfikator Naive Bayes nie dałby lepszych wyników. Chcesz przeprowadzić test mistrz–pretendent, porównując Naive Bayes jako pretendenta z modelem aktualnie działającym na produkcji, który wczytasz z pliku, aby uniknąć pomyłek. Do oceny użyjesz miary F1. Dysponujesz danymi X_train, X_test, y_train i y_test (tak jak wcześniej) oraz funkcjami GaussianNB(), f1_score() i pickle().
To ćwiczenie jest częścią kursu
Projektowanie przepływów pracy uczenia maszynowego w Pythonie
Instrukcje do ćwiczenia
- Wczytaj istniejący model z pliku za pomocą
pickle. - Dopasuj klasyfikator Gaussian Naive Bayes do danych treningowych.
- Wyświetl wynik F1 mistrza, a następnie pretendenta na danych testowych.
- Nadpisz bieżący plik modelu tym, który osiągnął lepszy wynik.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)