我想使用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
答案 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)