Random Forestでランダムサーチ
ランダムサンプリングの理解を深めるために、別のハイパーパラメータとアルゴリズムで同様の演習を行いましょう。
これまでと同様に、zip でまとめられるハイパーパラメータのリストを作成します。ここではランダムフォレストのハイパーパラメータ criterion、max_depth、max_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(____)