챔피언에 도전하기
랜덤 포레스트를 프로덕션에 배포하고 보니, Naive Bayes 분류기가 더 나을지 걱정이 되기 시작했어요. 챔피언-도전자 테스트를 진행해, 도전자인 Naive Bayes를 현재 프로덕션에 있는 정확히 그 모델과 비교하려고 합니다. 혼동을 피하기 위해, 현재 모델은 파일에서 로드해 사용할 거예요. 평가에는 F1 점수를 사용합니다. 이전과 마찬가지로 X_train, X_test, y_train, y_test 데이터가 준비되어 있고, GaussianNB(), f1_score(), pickle()을 사용할 수 있습니다.
이 연습은 강의의 일부입니다
Python으로 설계하는 Machine Learning 워크플로
연습 안내
pickle을 사용해 메모리에서 기존 모델을 로드하세요.- 학습 데이터에 Gaussian Naive Bayes 분류기를 학습시키세요.
- 테스트 데이터에 대해 챔피언의 F1 점수와 그다음으로 도전자의 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)