Bagging のハイパーパラメータを調整する
デフォルトのパラメータでも bagging classifier は簡単に構築できますが、最適な性能を出すにはパラメータ調整を行うことを強くおすすめします。理想的には、K-fold 交差検証で最適化すべきです。
この演習では、bagging classifier のパラメータを変更してモデル性能を改善できるか試してみます。
また、計算時間を短縮するために、LogisticRegression には solver='liblinear' を渡しています。
この演習はコースの一部です
Pythonで学ぶアンサンブル手法
演習の手順
- ロジスティック回帰をベース学習器として用いた bagging classifier を構築し、ベース推定器を
20個、最大特徴量数を10、最大サンプル数(max_samples)を0.65(65%)、サンプルは非復元抽出(置き換えなし)にします。 clf_bagを使ってテストセットX_testのラベルを予測します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Build a balanced logistic regression
clf_base = LogisticRegression(class_weight='balanced', solver='liblinear', random_state=42)
# Build and fit a bagging classifier with custom parameters
clf_bag = ____(____, ____, ____, ____, ____, random_state=500)
clf_bag.fit(X_train, y_train)
# Calculate predictions and evaluate the accuracy on the test set
y_pred = ____
print('Accuracy: {:.2f}'.format(accuracy_score(y_test, y_pred)))
# Print the classification report
print(classification_report(y_test, y_pred))