始める無料で始める

ベース学習器としての決定木

それでは、XGBoost モデルを使って住宅価格を予測してみましょう。動画で見た Boston, Massachusetts ではなく、Iowa 州 Ames のデータです!住宅価格のデータセットは df という DataFrame に事前に読み込まれています。シェルで中身を確認すると、家そのものや都市内の立地に関するさまざまな特徴量があることがわかります。

この演習では、ベース学習器として木を使うことが目標です。既定では XGBoost は木をベース学習器として使うため、ここで booster="gbtree" を指定する必要はありません。

xgboostxgb としてインポート済みで、特徴量と目的変数の配列はそれぞれ Xy に用意されています。

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

XGBoost で学ぶ極限の勾配ブースティング

コースを見る

演習の手順

  • df を訓練用とテスト用に分割し、テスト用に 20% を確保します。random_state123 を使用してください。
  • XGBRegressorxg_reg としてインスタンス化し、seed123objective"reg:squarederror"、木の本数は 10 にします。注意: 既定で booster="gbtree" なので、指定は不要です。
  • 学習データに xg_reg を適合させ、テストセットのラベルを予測します。予測結果は preds という変数に保存してください。
  • sklearn.metrics から事前にインポートされている mean_squared_error()np.sqrt() を使って rmse を計算します。

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

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

# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, ____=____, random_state=123)

# Instantiate the XGBRegressor: xg_reg
xg_reg = ____

# Fit the regressor to the training set
____

# Predict the labels of the test set: preds
preds = ____

# Compute the rmse: rmse
rmse = ____(____(____, ____))
print("RMSE: %f" % (rmse))
コードを編集して実行