ハイパーパラメータをランダムにサンプリングする
Random Search を行うには、まずハイパーパラメータ空間からランダムにサンプリングする必要があります。
この演習では、最初にハイパーパラメータのリストを作成し、それらをまとめてリストのリストにします。続いて、Random Search の実行に向けて、ハイパーパラメータの組み合わせをランダムにサンプリングします。
例をわかりやすく、複雑にしすぎないために、GBM アルゴリズムのハイパーパラメータ learning_rate と min_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(____)