超参数调整; ML 算法(rf、adaboost、xgboost)的参数 space
Hyperparameter tuning; what parameter space for ML algorithms (rf, adaboost, xgboost)
我正在尝试调整几种 ML 算法(rf、adaboost 和 xgboost)的超参数,以训练一个以多类分类变量为目标的模型。我在 R 中使用 MLR 包。但是,我不确定以下内容。
- 要调整哪些超参数(以及哪些超参数使用默认值)
- 调整后的超参数space应该是什么
你知道我可以从哪里找到这方面的信息吗?
例如;
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 -
Space;下、上、变换
params_to_tune <- makeParamSet(makeNumericParam("mtry", lower = 0, upper = 1, trafo = function(x) ceiling(x*ncol(train_x))))
一般来说,您希望调整所有标记为 tunable
的参数,使其值范围尽可能大。实际上,其中一些不会对性能产生影响,但您通常事先并不知道。
我正在尝试调整几种 ML 算法(rf、adaboost 和 xgboost)的超参数,以训练一个以多类分类变量为目标的模型。我在 R 中使用 MLR 包。但是,我不确定以下内容。
- 要调整哪些超参数(以及哪些超参数使用默认值)
- 调整后的超参数space应该是什么
你知道我可以从哪里找到这方面的信息吗?
例如;
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 -
Space;下、上、变换
params_to_tune <- makeParamSet(makeNumericParam("mtry", lower = 0, upper = 1, trafo = function(x) ceiling(x*ncol(train_x))))
一般来说,您希望调整所有标记为 tunable
的参数,使其值范围尽可能大。实际上,其中一些不会对性能产生影响,但您通常事先并不知道。