mlxtend を使った最初の試み
いよいよ mlxtend を使ってみます!アプリの評価データセットを引き続き使います。すでに scikit-learn でスタッキングのアンサンブルモデルを作成しているので、これから mlxtend で作るモデルと比較できます。
データセットは読み込まれており、apps として利用できます。
mlxtend で、scikit-learn のアンサンブル分類器と同等以上のモデルが作れるか試してみましょう。
この演習はコースの一部です
Pythonで学ぶアンサンブル手法
演習の手順
min_samples_leaf = 3とmin_samples_split = 9を指定して決定木分類器をインスタンス化します。'ball_tree'アルゴリズムを使う 5-近傍法分類器をインスタンス化します。StackingClassifierを構築し、分類器のリスト、メタ分類器に加えて、use_probas=True(確率を使用)、use_features_in_secondary = False(個々の予測のみを使用)を渡します。- 正解率(accuracy)を計算して性能を評価します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Instantiate the first-layer classifiers
clf_dt = ____(____, ____, random_state=500)
clf_knn = ____
# Instantiate the second-layer meta classifier
clf_meta = LogisticRegression()
# Build the Stacking classifier
clf_stack = ____
clf_stack.____
# Evaluate the performance of the Stacking classifier
pred_stack = ____
print("Accuracy: {:0.4f}".format(accuracy_score(y_test, pred_stack)))