始める無料で始める

チャンピオンに挑む

ランダムフォレストを本番環境にデプロイしたものの、もしかすると Naive Bayes 分類器のほうが良いのではと心配になりました。そこで、現在本番で稼働中のまさにそのモデル(混同を避けるためファイルからロードします)をチャンピオンとし、Naive Bayes をチャレンジャーとして比較する champion-challenger テストを実施します。評価指標には F1 スコアを使います。これまでと同様に X_trainX_testy_trainy_test が利用可能で、GaussianNB()f1_score()pickle() も使えます。

この演習はコースの一部です

Python で設計する Machine Learning ワークフロー

コースを見る

演習の手順

  • 既存モデルを 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)
コードを編集して実行