始める無料で始める

GoTの死亡予測

目的変数には欠損値がありませんが、他の特徴量には欠損があります。本コースの主眼はデータクリーニングや前処理ではないため、以下の前処理はあらかじめ実施済みです。

  • NA を 0 に置換。
  • 年齢が負の値の場合は 0 に置換。
  • 年齢の NA は平均値で置換。

それでは、averaging 手法を使ってアンサンブルモデルを構築しましょう。以下の個別モデルが用意されています。

  • ロジスティック回帰(clf_lr)。
  • 決定木(clf_dt)。
  • サポートベクターマシン(clf_svm)。

目的変数は二値なので、これらはいずれも単体でも良い性能を出せる可能性があります。目標は averaging を用いてこれらを組み合わせることです。動画で学んだとおり、これは soft voting と同じなので、VotingClassifier() を使います。

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

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

コースを見る

演習の手順

  • (string, estimator) のタプルのリストを設定します。clf_lr には 'lr'clf_dt には 'dt'clf_svm には 'svm' を使います。
  • clf_avg という名前の averaging 分類器を作成します。voting パラメータの引数を必ず指定してください。

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

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

# Build the individual models
clf_lr = LogisticRegression(class_weight='balanced')
clf_dt = DecisionTreeClassifier(min_samples_leaf=3, min_samples_split=9, random_state=500)
clf_svm = SVC(probability=True, class_weight='balanced', random_state=500)

# List of (string, estimator) tuples
estimators = ____

# Build and fit an averaging classifier
clf_avg = ____
clf_avg.fit(X_train, y_train)

# Evaluate model performance
acc_avg = accuracy_score(y_test,  clf_avg.predict(X_test))
print('Accuracy: {:.2f}'.format(acc_avg))
コードを編集して実行