始める無料で始める

グリッドサーチ

前のレッスンでベースラインの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)
コードを編集して実行