始める無料で始める

ハイパーパラメータをランダムにサンプリングする

Random Search を行うには、まずハイパーパラメータ空間からランダムにサンプリングする必要があります。

この演習では、最初にハイパーパラメータのリストを作成し、それらをまとめてリストのリストにします。続いて、Random Search の実行に向けて、ハイパーパラメータの組み合わせをランダムにサンプリングします。

例をわかりやすく、複雑にしすぎないために、GBM アルゴリズムのハイパーパラメータ learning_ratemin_samples_leaf のみを使用します。

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

Pythonでのハイパーパラメータチューニング

コースを見る

演習の手順

  • learning_rate ハイパーパラメータについて、0.01 から 1.5 の範囲で200個の値を作成し、リスト learn_rate_list に代入してください。
  • ハイパーパラメータ min_samples_leaf について、10 から 40(両端を含む)の値のリストを作成し、リスト min_samples_list に代入してください。
  • これらのリストを結合して、サンプリング対象となるリストのリストにしてください。
  • これらのハイパーパラメータの組み合わせからモデルを250個ランダムにサンプリングし、結果を出力してください。

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

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

# Create a list of values for the learning_rate hyperparameter
learn_rate_list = list(np.____(____,____,____))

# Create a list of values for the min_samples_leaf hyperparameter
min_samples_list = list(____(____,____))

# Combination list
combinations_list = [list(x) for x in ____(____, min_samples_list)]

# Sample hyperparameter combinations for a random search.
random_combinations_index = np.____(range(0, len(____)), ____, replace=False)
combinations_random_chosen = [combinations_list[x] for x in ____]

# Print the result
print(____)
コードを編集して実行