始める無料で始める

キノコ:生死を分ける問題

コースの締めくくりとして、キノコの食用可否の問題にもう一度取り組みます。スタッキング分類器を試して、スコアが改善できるか確認しましょう。スタッキングはメタ推定器(第2層の分類器)を使って第1層の予測を補正しようとするため、誤分類された一部のサンプルが正しく訂正される可能性があります。キノコの食用可否は文字どおり生死に関わる、とても重要な問題です。

データセットはすでに読み込まれ、学習用とテスト用に分割されています。スタッキングを使えば、キノコの食用可否をより高い確信度で予測できると思いますか?

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

Pythonで学ぶアンサンブル手法

コースを見る

演習の手順

  • 第1層の推定器をインスタンス化します。ball tree アルゴリズムを使う 5-近傍法、min_samples_leaf = 5min_samples_split = 15 を持つ決定木分類器、そして Gaussian Naive Bayes 分類器です。
  • スタッキング分類器を構築して学習します。パラメータ classifiers(第1層分類器を含むリスト)と、meta_classifier(デフォルトのロジスティック回帰)を指定してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Create the first-layer models
clf_knn = ____
clf_dt = ____(____, ____, random_state=500)
clf_nb = ____

# Create the second-layer model (meta-model)
clf_lr = LogisticRegression()

# Create and fit the stacked model
clf_stack = ____
clf_stack.fit(X_train, y_train)

# Evaluate the stacked model’s performance
print("Accuracy: {:0.4f}".format(accuracy_score(y_test, clf_stack.predict(X_test))))
コードを編集して実行