グリッドサーチ
前のレッスンでベースラインのGradient Boostingモデルを作成しました。ここでは、このGradient Boostingモデルに対して最適な max_depth ハイパーパラメータの値を見つけます。このハイパーパラメータは、各決定木に含めるノード数を制限します。各ハイパーパラメータ値に対してモデルのローカル性能を測るために、K-foldクロスバリデーションを使用します。
学習用データセットとモデルパラメータの辞書を引数に取り、3-foldクロスバリデーション全体の検証RMSEスコアを返す関数 get_cv_score() が与えられています。
この演習はコースの一部です
Pythonで挑むKaggleコンペティション
演習の手順
max_depthの候補値に 3、6、9、12、15 を含むグリッドを指定します。- グリッド内の各ハイパーパラメータ候補を、モデルの
params辞書に渡します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Possible max depth values
max_depth_grid = [____]
results = {}
# For each value in the grid
for max_depth_candidate in max_depth_grid:
# Specify parameters for the model
params = {'max_depth': ____}
# Calculate validation score for a particular hyperparameter
validation_score = get_cv_score(train, params)
# Save the results for each max depth value
results[max_depth_candidate] = validation_score
print(results)