问题描述
我正在尝试调整几种 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
的参数,其值范围尽可能大。在实践中,其中一些不会对性能产生影响,但您通常事先不知道。