如何在tidymodels中创建固定参数范围的超参数调优网格?
用tidymodels实现决策树超参数范围限定
完全可以实现你的需求,只需在超参数函数中通过range或values参数指定范围即可:
方法1:限定tree_depth数值范围,固定min_n上下限
通过tree_depth(range = c(4, 6))把树深限定在4到6之间,同时用min_n(range = c(下限值, 上限值))固定最小样本数的范围,示例代码如下:
tree_grid <- grid_regular( cost_complexity(), tree_depth(range = c(4, 6)), # 限定tree_depth取值在4-6之间 min_n(range = c(5, 15)) # 固定min_n的上下限为5到15,可按需修改数值 )
方法2:指定tree_depth具体取值(更适合绘图)
如果需要让tree_depth只取4、5、6这几个离散值(绘图时更清晰),可以用values参数直接指定具体数值:
tree_grid <- grid_regular( cost_complexity(), tree_depth(values = c(4, 5, 6)), # 直接指定tree_depth的具体取值 min_n(range = c(5, 15)) # 固定min_n的上下限 )
两种方式都能满足需求,其中第二种方式生成的超参数组合更少,更适合后续的模型可视化。
内容的提问来源于stack exchange,提问作者Norhther
相关产品推荐
相关产品推荐

