可视化 Coarse to Fine
您将进行 Coarse to Fine 搜索的第一步。这一步需要先分析在大搜索空间中进行的初始随机搜索结果,然后决定下一步如何细化超参数搜索。
您可以使用以下对象:
combinations_list—— 一个列表,包含随机搜索所使用的所有可能超参数组合。results_df—— 一个 DataFrame,包含 500 次试验中每个超参数组合及其对应的准确率。每个超参数是一列,列名即为超参数名称。visualize_hyperparameter()—— 一个函数,接收 DataFrame 的某一列名(字符串)并绘制该列取值与准确率的散点图。函数调用示例:visualize_hyperparameter('accuracy')
如果您想查看 visualize_hyperparameter() 的函数定义,可以运行以下代码:
import inspect
print(inspect.getsource(visualize_hyperparameter))
本练习是课程的一部分
Python 中的超参数调优
练习说明
- 通过打印
combinations_list的大小进行确认,以说明为什么需要先从随机搜索开始。 - 按准确率对
results_df进行排序并打印前 10 行。是否有清晰的结论?请警惕样本量过小! - 通过打印确认本次搜索使用了哪些超参数。它们就是
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(____)