我使用mlr
包在R中运行随机森林分类。我想调整以下超参数:树的数量,每次拆分时要考虑的变量数量,终端节点大小和树深度。我使用makeParamSet
中的mlr
构建要调优的参数集,下面是代码:
rf_param <- makeParamSet(
makeIntegerParam("ntree", lower=50, upper =500),
makeIntegerParam("mtry", lower =floor((ncol(train)-1)/5), upper = ncol(train)),
makeIntegerParam("nodesize", lower =10, upper = 30),
makeIntegerParam("maxnodes", lower =1, upper =100 ))
然而,通过这种方式,在树的情况下,在选择最优树数时考虑从50到500的每个整数。相反,我想用50来计算树的数量(例如50 100 150……)500)。makeParamSet
有可能这样做吗?谢谢!
您可以使用makeDiscreteParam
,像这样:
makeDiscreteParam("ntree", values = seq(50,500,50))