ブートストラップで学習する
それでは、「弱い」決定木分類器を作成し、置換ありで抽出したトレーニングセットのサンプルに対して学習させましょう。これにより、バギングアンサンブルの各反復で何が起きるかを理解できます。
サンプリングには、pandas の .sample() メソッドを使います。このメソッドには replace パラメータがあります。例えば、次のコードは DataFrame df 全体から置換ありでサンプルを抽出します:
df.sample(frac=1.0, replace=True, random_state=42)
この演習はコースの一部です
Pythonで学ぶアンサンブル手法
演習の手順
- トレーニングセット
X_train全体(frac=1.0)から、置換あり(replace=True)でサンプルを抽出します。 - パラメータ
max_depth = 4を使って決定木分類器を作成します。 - サンプリングしたトレーニングデータにモデルを適合させます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Take a sample with replacement
X_train_sample = X_train.____(____, ____, random_state=42)
y_train_sample = y_train.loc[X_train_sample.index]
# Build a "weak" Decision Tree classifier
clf = ____(____, random_state=500)
# Fit the model to the training sample
____