使用 MLR 包调整超参数
Hyperparameter tuning using MLR package
我想使用 MLR 包调整随机森林的超参数。我有几个问题:
1) 如何决定应该调整哪些参数?我听说过保持 num.trees 在计算上尽可能高并调整 mtry? (虽然我在网上找不到任何支持它的东西)
2) 我的调整 mtry 范围应该是多少?这是参数的 0 到 1/3 之间的一个好的经验法则吗?如果是这样,如果我有不同的数据集,我将如何将其集成到下面的代码中(即,我将写什么而不是 lower=0 和 upper =10)?
3) 最后,创建学习器两次是否有意义,一次使用 makeLearner 函数,我在 par.vals 中设置参数,然后一次使用 makeTuneWrapper 函数?反正它不会覆盖它吗?
learnerRF = makeLearner("regr.ranger", par.vals = list("num.trees" = 5000))
parsRF = makeParamSet(
makeIntegerParam("mtry", lower = 0 , upper = 10),
)
tuneRF = makeTuneControlGrid()
inner = makeResampleDesc("CV", iters = 10)
learnerRF = makeTuneWrapper(learnerRF, resampling = inner, par.set = parsRF,control = tuneRF, show.info = FALSE)
问题 1 和问题 2 的答案是一样的——在计算能力范围内尽可能多,即使参数的数量及其范围尽可能大。这将通过考虑最大数量的配置选项来提供最大可能的收益。
关于 3,您不必在调用 makeTuneWrapper()
之前创建一个单独的学习者(并且在那里设置您稍后要调整的参数没有任何意义)。您可以像这样一步完成:
learnerRF = makeTuneWrapper("regr.ranger", resampling = inner, par.set = parsRF,
control = tuneRF, show.info = FALSE)
你可以看看这两篇论文,试图回答你的问题:
http://jmlr.org/papers/v18/17-269.html
https://arxiv.org/abs/1804.03515
tuneRanger 是一个专门用于在 R 中调整随机森林的软件包。
我想使用 MLR 包调整随机森林的超参数。我有几个问题:
1) 如何决定应该调整哪些参数?我听说过保持 num.trees 在计算上尽可能高并调整 mtry? (虽然我在网上找不到任何支持它的东西)
2) 我的调整 mtry 范围应该是多少?这是参数的 0 到 1/3 之间的一个好的经验法则吗?如果是这样,如果我有不同的数据集,我将如何将其集成到下面的代码中(即,我将写什么而不是 lower=0 和 upper =10)?
3) 最后,创建学习器两次是否有意义,一次使用 makeLearner 函数,我在 par.vals 中设置参数,然后一次使用 makeTuneWrapper 函数?反正它不会覆盖它吗?
learnerRF = makeLearner("regr.ranger", par.vals = list("num.trees" = 5000))
parsRF = makeParamSet(
makeIntegerParam("mtry", lower = 0 , upper = 10),
)
tuneRF = makeTuneControlGrid()
inner = makeResampleDesc("CV", iters = 10)
learnerRF = makeTuneWrapper(learnerRF, resampling = inner, par.set = parsRF,control = tuneRF, show.info = FALSE)
问题 1 和问题 2 的答案是一样的——在计算能力范围内尽可能多,即使参数的数量及其范围尽可能大。这将通过考虑最大数量的配置选项来提供最大可能的收益。
关于 3,您不必在调用 makeTuneWrapper()
之前创建一个单独的学习者(并且在那里设置您稍后要调整的参数没有任何意义)。您可以像这样一步完成:
learnerRF = makeTuneWrapper("regr.ranger", resampling = inner, par.set = parsRF,
control = tuneRF, show.info = FALSE)
你可以看看这两篇论文,试图回答你的问题:
http://jmlr.org/papers/v18/17-269.html
https://arxiv.org/abs/1804.03515
tuneRanger 是一个专门用于在 R 中调整随机森林的软件包。