始める無料で始める

Random Forestでランダムサーチ

ランダムサンプリングの理解を深めるために、別のハイパーパラメータとアルゴリズムで同様の演習を行いましょう。

これまでと同様に、zip でまとめられるハイパーパラメータのリストを作成します。ここではランダムフォレストのハイパーパラメータ criterionmax_depthmax_features を使います。その後、ランダムサーチの実行に備えて、ハイパーパラメータの組み合わせをランダムにサンプリングします。

このタスクのサンプリングには、少し異なるパッケージである random.sample() を使います。

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

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

コースを見る

演習の手順

  • criterion 用に値 'gini''entropy' のリストを、max_features 用に "auto", "sqrt", "log2", None のリストを作成します。
  • ハイパーパラメータ max_depth に対して 3 から 55 を含む値のリストを作成し、リスト max_depth_list に代入します。range(N,M) は N から M-1 のリストを作ることに注意してください。
  • これらのリストを product() を使って、サンプリング対象となるリストのリストに結合します。
  • 結合したリストからモデルを150個ランダムにサンプリングし、結果を出力します。

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

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

# Create lists for criterion and max_features
criterion_list = ____
max_feature_list = ____

# Create a list of values for the max_depth hyperparameter
max_depth_list = list(range(____,____))

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

# Sample hyperparameter combinations for a random search
combinations_random_chosen = random.sample(____, ____)

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