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_depth、min_samples_leaf、learn_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(____)