始める無料で始める

XGBoostでのグリッドサーチ

XGBoostで個々のパラメータを調整する方法を学んだので、次は scikit-learn の GridSearchRandomizedSearch を内部交差検証付きで行う GridSearchCVRandomizedSearchCV で、パラメータチューニングを一段引き上げましょう。これらを使って、複数のパラメータにわたる候補値の組み合わせを総当たり的に探索し、最良のモデルを見つけます。まずは GridSearchCV から始めましょう!

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

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

コースを見る

演習の手順

  • gbm_param_grid というパラメータグリッドを作成し、"colsample_bytree" は値のリスト(0.30.7)、"n_estimators" は単一値のリスト(50)、"max_depth" は2つの値のリスト(25)を含めます。
  • gbm という名前の XGBRegressor オブジェクトをインスタンス化します。
  • grid_mse という GridSearchCV オブジェクトを作成し、param_grid にパラメータグリッド、estimatorXGBRegressorscoring"neg_mean_squared_error"cv4 を指定します。出力を理解しやすくするため、verbose=1 も指定します。
  • GridSearchCV オブジェクトを Xy に適合させます。
  • grid_mse.best_params_.best_score_ 属性を使って、最良のパラメータ値と最小のRMSEをそれぞれ表示します。

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

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

# Create the parameter grid: gbm_param_grid
gbm_param_grid = {
    '____': [____, ____],
    '____': [____],
    '____': [____, ____]
}

# Instantiate the regressor: gbm
gbm = ____

# Perform grid search: grid_mse
grid_mse = ____


# Fit grid_mse to the data
____

# Print the best parameters and lowest RMSE
print("Best parameters found: ", ____)
print("Lowest RMSE found: ", np.sqrt(np.abs(____)))
コードを編集して実行