使用MLR包进行超参数调整

时间:2018-06-28 16:45:49

标签: random-forest hyperparameters mlr

我想使用MLR包为随机森林调整超参数。我有几个问题:

1)如何确定应调整的参数?我听说过一些有关保持num.trees尽可能高的计算和调整mtry的事情? (不过,我在网上找不到任何东西来支持此操作)

2)我的调音范围应该是多少?在参数的0到1/3之间是否有一个好的经验法则?如果是这样,如果我有不同的数据集(即,我将写什么而不是lower = 0和upper = 10),如何将其集成到下面的代码中?

3)最后,两次创建学习者是否有意义,一次使用makeLearner函数(在参数val中设置参数),一次使用makeTuneWrapper函数?还是会覆盖它吗?

grep --color='auto' -P -n '[^\x00-\x7F]' file_name.txt

2 个答案:

答案 0 :(得分:3)

您可以查看以下两篇论文,它们试图回答您的问题:

http://jmlr.org/papers/v18/17-269.html

https://arxiv.org/abs/1804.03515

tuneRanger是一个软件包,专门用于在R中调整随机森林。

答案 1 :(得分:1)

1和2的答案是相同的-尽您所能提供,即使参数的数量及其范围尽可能大。通过考虑最多数量的配置选项,这将提供最大的收益。

关于3,您不必在调用makeTuneWrapper()之前创建一个单独的学习器(并且在那里设置以后要调整的参数没有任何意义)。您可以像这样一步完成两者:

learnerRF = makeTuneWrapper("regr.ranger", resampling = inner, par.set = parsRF, 
                            control = tuneRF, show.info = FALSE)
相关问题