始める無料で始める

Coarse to Fine の可視化

まずは Coarse to Fine 検索の前半を進めます。これは、広い探索空間で実施した初回のランダムサーチ結果を分析し、その後にハイパーパラメータ探索をどのように細かくしていくかを判断する作業です。

次のものが用意されています。

  • combinations_list - ランダムサーチを実施した可能なハイパーパラメータ組み合わせのリスト。
  • results_df - 各ハイパーパラメータの組み合わせと、全500試行の結果としての精度(accuracy)を持つ DataFrame。各ハイパーパラメータは列で、ヘッダーがハイパーパラメータ名です。
  • visualize_hyperparameter() - DataFrame の列名(文字列)を受け取り、その列の値と精度スコアを比較する散布図を作成する関数。呼び出し例: visualize_hyperparameter('accuracy')

visualize_hyperparameter() の定義を確認したい場合は、次のコードを実行してください。

import inspect
print(inspect.getsource(visualize_hyperparameter))

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

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

コースを見る

演習の手順

  • combinations_list のサイズを(print で)確認し、最初にランダムサーチから始める妥当性を説明できるようにしましょう。
  • results_df を精度でソートし、上位10行を出力してください。明確な示唆はありますか?サンプルサイズの小ささに注意しましょう!
  • この検索で使用したハイパーパラメータを(print で)確認してください。results_df の列名がそれに当たります。
  • 各ハイパーパラメータ(max_depthmin_samples_leaflearn_rate)を順に引数にして visualize_hyperparameter() を呼び出してください。傾向は見られますか?

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

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

# Confirm the size of the combinations_list
print(____(____))

# Sort the results_df by accuracy and print the top 10 rows
print(results_df.____(by=____, ascending=False).head(____))

# Confirm which hyperparameters were used in this search
print(results_df.____)

# Call visualize_hyperparameter() with each hyperparameter in turn
visualize_hyperparameter(____)
visualize_hyperparameter(____)
visualize_hyperparameter(____)
コードを編集して実行