Voting Classifier の重みを調整する
Voting Classifier を使うと、複数モデルの“良いところ取り”で不正検知の精度を高められることを見てきました。ここでは、各モデルに与える重みを調整してみましょう。重みを上げ下げすることで、他のモデルに対して特定のモデルをどの程度重視するかをコントロールできます。あるモデルの総合性能が他より良い場合でも、他のモデルの長所も組み合わせて、結果をさらに改善したいときに有効です。
この演習ではデータはすでに学習用とテスト用に分割済みで、clf1、clf2、clf3 は前と同様に定義されています。具体的には、それぞれ Logistic Regression、Random Forest、Decision Tree です。
この演習はコースの一部です
Pythonで学ぶ不正検知
演習の手順
- 2番目の分類器(clf2)の重みを他より強くし、他の分類器に対して 4 対 1 で上乗せするアンサンブル方法を定義してください。
- 学習用データでモデルを学習し、テスト用データで評価して、アンサンブルモデルから予測
predictedを取得してください。 - 性能指標を出力してください。これはすでに実行できる状態になっています。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define the ensemble model
ensemble_model = ____(estimators=[('lr', clf1), ('rf', clf2), ('gnb', clf3)], voting='soft', weights=[____, ____, ____], flatten_transform=True)
# Get results
get_model_results(X_train, y_train, X_test, y_test, ensemble_model)