超参数调优; ML 算法的参数空间是什么rf、adaboost、xgboost

问题描述

我正在尝试调整几种 ML 算法(rf、adaboost 和 xgboost)的超参数,以训练一个以多类分类变量为目标的模型。我在 R 中使用 MLR 包。但是,我不确定以下内容

  • 调整哪些超参数(以及使用认超参数)
  • 调整超参数的空间应该是多少

你知道我可以找到相关信息的任何来源吗?

例如;

filterParams(getParamSet("classif.randomForest"),tunable = TRUE)

给予

                    Type  len   Def   Constr Req Tunable Trafo
ntree            integer    -   500 1 to Inf   -    TRUE     -
mtry             integer    -     - 1 to Inf   -    TRUE     -
replace          logical    -  TRUE        -   -    TRUE     -
classwt    numericvector <NA>     - 0 to Inf   -    TRUE     -
cutoff     numericvector <NA>     -   0 to 1   -    TRUE     -
sampsize   integervector <NA>     - 1 to Inf   -    TRUE     -
nodesize         integer    -     1 1 to Inf   -    TRUE     -
maxnodes         integer    -     - 1 to Inf   -    TRUE     -
importance       logical    - FALSE        -   -    TRUE     -
localImp         logical    - FALSE        -   -    TRUE     -

空格;下、上、变换

params_to_tune <- makeParamSet(makeNumericParam("mtry",lower = 0,upper = 1,trafo = function(x) ceiling(x*ncol(train_x))))

解决方法

通常,您希望调整所有标记为 tunable 的参数,其值范围尽可能大。在实践中,其中一些不会对性能产生影响,但您通常事先不知道。