Skip to content

Commit

Permalink
S3params compat (#273)
Browse files Browse the repository at this point in the history
* tests pass with new paradox

* forgot to save

* test with new paradox

* news

* dev cmd check with paradox master
  • Loading branch information
mb706 committed Feb 29, 2024
1 parent a888203 commit be362e0
Show file tree
Hide file tree
Showing 30 changed files with 103 additions and 164 deletions.
1 change: 1 addition & 0 deletions .github/workflows/dev-cmd-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
matrix:
config:
- {os: ubuntu-latest, r: 'release', dev-package: 'mlr-org/mlr3'}
- {os: ubuntu-latest, r: 'release', dev-package: 'mlr-org/paradox'}

steps:
- uses: actions/checkout@v3
Expand Down
2 changes: 2 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# mlr3learners (development version)

* Adaption to new paradox version 1.0.0.

# mlr3learners 0.5.8

* Adaption to memory optimization in mlr3 0.17.1.
Expand Down
3 changes: 1 addition & 2 deletions R/LearnerClassifCVGlmnet.R
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ LearnerClassifCVGlmnet = R6Class("LearnerClassifCVGlmnet",
exmx = p_dbl(default = 250.0, tags = "train"),
fdev = p_dbl(0, 1, default = 1.0e-5, tags = "train"),
foldid = p_uty(default = NULL, tags = "train"),
gamma = p_uty(tags = "train"),
gamma = p_uty(tags = "train", depends = relax == TRUE),
grouped = p_lgl(default = TRUE, tags = "train"),
intercept = p_lgl(default = TRUE, tags = "train"),
keep = p_lgl(default = FALSE, tags = "train"),
Expand Down Expand Up @@ -72,7 +72,6 @@ LearnerClassifCVGlmnet = R6Class("LearnerClassifCVGlmnet",
type.multinomial = p_fct(c("ungrouped", "grouped"), tags = "train"),
upper.limits = p_uty(tags = "train")
)
ps$add_dep("gamma", "relax", CondEqual$new(TRUE))

super$initialize(
id = "classif.cv_glmnet",
Expand Down
3 changes: 1 addition & 2 deletions R/LearnerClassifGlmnet.R
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ LearnerClassifGlmnet = R6Class("LearnerClassifGlmnet",
exclude = p_int(1L, tags = "train"),
exmx = p_dbl(default = 250.0, tags = "train"),
fdev = p_dbl(0, 1, default = 1.0e-5, tags = "train"),
gamma = p_dbl(default = 1, tags = "predict"),
gamma = p_dbl(default = 1, tags = "predict", depends = relax == TRUE),
intercept = p_lgl(default = TRUE, tags = "train"),
lambda = p_uty(tags = "train"),
lambda.min.ratio = p_dbl(0, 1, tags = "train"),
Expand All @@ -82,7 +82,6 @@ LearnerClassifGlmnet = R6Class("LearnerClassifGlmnet",
type.multinomial = p_fct(c("ungrouped", "grouped"), tags = "train"),
upper.limits = p_uty(tags = "train")
)
ps$add_dep("gamma", "relax", CondEqual$new(TRUE))

super$initialize(
id = "classif.glmnet",
Expand Down
3 changes: 1 addition & 2 deletions R/LearnerClassifLDA.R
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,12 @@ LearnerClassifLDA = R6Class("LearnerClassifLDA",
ps = ps(
dimen = p_uty(tags = "predict"),
method = p_fct(c("moment", "mle", "mve", "t"), default = "moment", tags = "train"),
nu = p_int(tags = "train"),
nu = p_int(tags = "train", depends = method == "t"),
predict.method = p_fct(c("plug-in", "predictive", "debiased"), default = "plug-in", tags = "predict"),
predict.prior = p_uty(tags = "predict"),
prior = p_uty(tags = "train"),
tol = p_dbl(tags = "train")
)
ps$add_dep("nu", "method", CondEqual$new("t"))

super$initialize(
id = "classif.lda",
Expand Down
3 changes: 1 addition & 2 deletions R/LearnerClassifQDA.R
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,11 @@ LearnerClassifQDA = R6Class("LearnerClassifQDA",
initialize = function() {
ps = ps(
method = p_fct(c("moment", "mle", "mve", "t"), default = "moment", tags = "train"),
nu = p_int(tags = "train"),
nu = p_int(tags = "train", depends = method == "t"),
predict.method = p_fct(c("plug-in", "predictive", "debiased"), default = "plug-in", tags = "predict"),
predict.prior = p_uty(tags = "predict"),
prior = p_uty(tags = "train")
)
ps$add_dep("nu", "method", CondEqual$new("t"))

super$initialize(
id = "classif.qda",
Expand Down
7 changes: 2 additions & 5 deletions R/LearnerClassifRanger.R
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ LearnerClassifRanger = R6Class("LearnerClassifRanger",
minprop = p_dbl(default = 0.1, tags = "train"),
mtry = p_int(lower = 1L, special_vals = list(NULL), tags = "train"),
mtry.ratio = p_dbl(lower = 0, upper = 1, tags = "train"),
num.random.splits = p_int(1L, default = 1L, tags = "train", depends = splitrule == "extratrees"),
node.stats = p_lgl(default = FALSE, tags = "train"),
num.random.splits = p_int(1L, default = 1L, tags = "train"),
num.threads = p_int(1L, default = 1L, tags = c("train", "predict", "threads")),
num.trees = p_int(1L, default = 500L, tags = c("train", "predict", "hotstart")),
oob.error = p_lgl(default = TRUE, tags = "train"),
Expand All @@ -60,7 +60,7 @@ LearnerClassifRanger = R6Class("LearnerClassifRanger",
respect.unordered.factors = p_fct(c("ignore", "order", "partition"), default = "ignore", tags = "train"),
sample.fraction = p_dbl(0L, 1L, tags = "train"),
save.memory = p_lgl(default = FALSE, tags = "train"),
scale.permutation.importance = p_lgl(default = FALSE, tags = "train"),
scale.permutation.importance = p_lgl(default = FALSE, tags = "train", depends = importance == "permutation"),
se.method = p_fct(c("jack", "infjack"), default = "infjack", tags = "predict"),
seed = p_int(default = NULL, special_vals = list(NULL), tags = c("train", "predict")),
split.select.weights = p_uty(default = NULL, tags = "train"),
Expand All @@ -71,9 +71,6 @@ LearnerClassifRanger = R6Class("LearnerClassifRanger",

ps$values = list(num.threads = 1L)

ps$add_dep("num.random.splits", "splitrule", CondEqual$new("extratrees"))
ps$add_dep("scale.permutation.importance", "importance", CondEqual$new("permutation"))

super$initialize(
id = "classif.ranger",
param_set = ps,
Expand Down
15 changes: 5 additions & 10 deletions R/LearnerClassifSVM.R
Original file line number Diff line number Diff line change
Expand Up @@ -26,26 +26,21 @@ LearnerClassifSVM = R6Class("LearnerClassifSVM",
ps = ps(
cachesize = p_dbl(default = 40L, tags = "train"),
class.weights = p_uty(default = NULL, tags = "train"),
coef0 = p_dbl(default = 0, tags = "train"),
cost = p_dbl(0, default = 1, tags = "train"),
coef0 = p_dbl(default = 0, tags = "train", depends = kernel %in% c("polynomial", "sigmoid")),
cost = p_dbl(0, default = 1, tags = "train", depends = type == "C-classification"),
cross = p_int(0L, default = 0L, tags = "train"),
decision.values = p_lgl(default = FALSE, tags = "predict"),
degree = p_int(1L, default = 3L, tags = "train"),
degree = p_int(1L, default = 3L, tags = "train", depends = kernel == "polynomial"),
epsilon = p_dbl(0, default = 0.1, tags = "train"),
fitted = p_lgl(default = TRUE, tags = "train"),
gamma = p_dbl(0, tags = "train"),
gamma = p_dbl(0, tags = "train", depends = kernel %in% c("polynomial", "radial", "sigmoid")),
kernel = p_fct(c("linear", "polynomial", "radial", "sigmoid"), default = "radial", tags = "train"),
nu = p_dbl(default = 0.5, tags = "train"),
nu = p_dbl(default = 0.5, tags = "train", depends = type == "nu-classification"),
scale = p_uty(default = TRUE, tags = "train"),
shrinking = p_lgl(default = TRUE, tags = "train"),
tolerance = p_dbl(0, default = 0.001, tags = "train"),
type = p_fct(c("C-classification", "nu-classification"), default = "C-classification", tags = "train")
)
ps$add_dep("cost", "type", CondEqual$new("C-classification"))
ps$add_dep("nu", "type", CondEqual$new("nu-classification"))
ps$add_dep("degree", "kernel", CondEqual$new("polynomial"))
ps$add_dep("coef0", "kernel", CondAnyOf$new(c("polynomial", "sigmoid")))
ps$add_dep("gamma", "kernel", CondAnyOf$new(c("polynomial", "radial", "sigmoid")))

super$initialize(
id = "classif.svm",
Expand Down
47 changes: 15 additions & 32 deletions R/LearnerClassifXgboost.R
Original file line number Diff line number Diff line change
Expand Up @@ -92,74 +92,57 @@ LearnerClassifXgboost = R6Class("LearnerClassifXgboost",
early_stopping_set = p_fct(c("none", "train", "test"), default = "none", tags = "train"),
eta = p_dbl(0, 1, default = 0.3, tags = c("train", "control")),
eval_metric = p_uty(tags = "train"),
feature_selector = p_fct(c("cyclic", "shuffle", "random", "greedy", "thrifty"), default = "cyclic", tags = "train"),
feature_selector = p_fct(c("cyclic", "shuffle", "random", "greedy", "thrifty"), default = "cyclic", tags = "train", depends = booster == "gblinear"),
feval = p_uty(default = NULL, tags = "train"),
gamma = p_dbl(0, default = 0, tags = c("train", "control")),
grow_policy = p_fct(c("depthwise", "lossguide"), default = "depthwise", tags = "train"),
grow_policy = p_fct(c("depthwise", "lossguide"), default = "depthwise", tags = "train", depends = tree_method == "hist"),
interaction_constraints = p_uty(tags = "train"),
iterationrange = p_uty(tags = "predict"),
lambda = p_dbl(0, default = 1, tags = "train"),
lambda_bias = p_dbl(0, default = 0, tags = "train"),
max_bin = p_int(2L, default = 256L, tags = "train"),
lambda_bias = p_dbl(0, default = 0, tags = "train", depends = booster == "gblinear"),
max_bin = p_int(2L, default = 256L, tags = "train", depends = tree_method == "hist"),
max_delta_step = p_dbl(0, default = 0, tags = "train"),
max_depth = p_int(0L, default = 6L, tags = c("train", "control")),
max_leaves = p_int(0L, default = 0L, tags = "train"),
max_leaves = p_int(0L, default = 0L, tags = "train", depends = grow_policy == "lossguide"),
maximize = p_lgl(default = NULL, special_vals = list(NULL), tags = "train"),
min_child_weight = p_dbl(0, default = 1, tags = c("train", "control")),
missing = p_dbl(default = NA, tags = c("train", "predict"), special_vals = list(NA, NA_real_, NULL)),
monotone_constraints = p_uty(default = 0, tags = c("train", "control"), custom_check = crate(function(x) { checkmate::check_integerish(x, lower = -1, upper = 1, any.missing = FALSE) })), # nolint
normalize_type = p_fct(c("tree", "forest"), default = "tree", tags = "train"),
normalize_type = p_fct(c("tree", "forest"), default = "tree", tags = "train", depends = booster == "dart"),
nrounds = p_int(1L, tags = c("train", "hotstart")),
nthread = p_int(1L, default = 1L, tags = c("train", "control", "threads")),
ntreelimit = p_int(1L, default = NULL, special_vals = list(NULL), tags = "predict"),
num_parallel_tree = p_int(1L, default = 1L, tags = c("train", "control")),
objective = p_uty(default = "binary:logistic", tags = c("train", "predict", "control")),
one_drop = p_lgl(default = FALSE, tags = "train"),
one_drop = p_lgl(default = FALSE, tags = "train", depends = booster == "dart"),
outputmargin = p_lgl(default = FALSE, tags = "predict"),
predcontrib = p_lgl(default = FALSE, tags = "predict"),
predinteraction = p_lgl(default = FALSE, tags = "predict"),
predleaf = p_lgl(default = FALSE, tags = "predict"),
print_every_n = p_int(1L, default = 1L, tags = "train"),
print_every_n = p_int(1L, default = 1L, tags = "train", depends = verbose == 1L),
process_type = p_fct(c("default", "update"), default = "default", tags = "train"),
rate_drop = p_dbl(0, 1, default = 0, tags = "train"),
rate_drop = p_dbl(0, 1, default = 0, tags = "train", depends = booster == "dart"),
refresh_leaf = p_lgl(default = TRUE, tags = "train"),
reshape = p_lgl(default = FALSE, tags = "predict"),
seed_per_iteration = p_lgl(default = FALSE, tags = "train"),
sampling_method = p_fct(c("uniform", "gradient_based"), default = "uniform", tags = "train"),
sample_type = p_fct(c("uniform", "weighted"), default = "uniform", tags = "train"),
sampling_method = p_fct(c("uniform", "gradient_based"), default = "uniform", tags = "train", depends = booster == "gbtree"),
sample_type = p_fct(c("uniform", "weighted"), default = "uniform", tags = "train", depends = booster == "dart"),
save_name = p_uty(default = NULL, tags = "train"),
save_period = p_int(0, default = NULL, special_vals = list(NULL), tags = "train"),
scale_pos_weight = p_dbl(default = 1, tags = "train"),
skip_drop = p_dbl(0, 1, default = 0, tags = "train"),
skip_drop = p_dbl(0, 1, default = 0, tags = "train", depends = booster == "dart"),
strict_shape = p_lgl(default = FALSE, tags = "predict"),
subsample = p_dbl(0, 1, default = 1, tags = c("train", "control")),
top_k = p_int(0, default = 0, tags = "train"),
top_k = p_int(0, default = 0, tags = "train", depends = feature_selector %in% c("greedy", "thrifty") && booster == "gblinear"),
training = p_lgl(default = FALSE, tags = "predict"),
tree_method = p_fct(c("auto", "exact", "approx", "hist", "gpu_hist"), default = "auto", tags = "train"),
tweedie_variance_power = p_dbl(1, 2, default = 1.5, tags = "train"),
tree_method = p_fct(c("auto", "exact", "approx", "hist", "gpu_hist"), default = "auto", tags = "train", depends = booster %in% c("gbtree", "dart")),
tweedie_variance_power = p_dbl(1, 2, default = 1.5, tags = "train", depends = objective == "reg:tweedie"),
updater = p_uty(tags = "train"), # Default depends on the selected booster
verbose = p_int(0L, 2L, default = 1L, tags = "train"),
watchlist = p_uty(default = NULL, tags = "train"),
xgb_model = p_uty(default = NULL, tags = "train")

)
# param deps
ps$add_dep("tweedie_variance_power", "objective", CondEqual$new("reg:tweedie"))
ps$add_dep("print_every_n", "verbose", CondEqual$new(1L))
ps$add_dep("sampling_method", "booster", CondEqual$new("gbtree"))
ps$add_dep("normalize_type", "booster", CondEqual$new("dart"))
ps$add_dep("rate_drop", "booster", CondEqual$new("dart"))
ps$add_dep("skip_drop", "booster", CondEqual$new("dart"))
ps$add_dep("one_drop", "booster", CondEqual$new("dart"))
ps$add_dep("sample_type", "booster", CondEqual$new("dart"))
ps$add_dep("tree_method", "booster", CondAnyOf$new(c("gbtree", "dart")))
ps$add_dep("grow_policy", "tree_method", CondEqual$new("hist"))
ps$add_dep("max_leaves", "grow_policy", CondEqual$new("lossguide"))
ps$add_dep("max_bin", "tree_method", CondEqual$new("hist"))
ps$add_dep("feature_selector", "booster", CondEqual$new("gblinear"))
ps$add_dep("top_k", "booster", CondEqual$new("gblinear"))
ps$add_dep("top_k", "feature_selector", CondAnyOf$new(c("greedy", "thrifty")))
ps$add_dep("lambda_bias", "booster", CondEqual$new("gblinear"))

# custom defaults
ps$values = list(nrounds = 1L, nthread = 1L, verbose = 0L, early_stopping_set = "none")
Expand Down
6 changes: 2 additions & 4 deletions R/LearnerRegrCVGlmnet.R
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ LearnerRegrCVGlmnet = R6Class("LearnerRegrCVGlmnet",
family = p_fct(c("gaussian", "poisson"), default = "gaussian", tags = "train"),
fdev = p_dbl(0, 1, default = 1.0e-5, tags = "train"),
foldid = p_uty(default = NULL, tags = "train"),
gamma = p_uty(tags = "train"),
gamma = p_uty(tags = "train", depends = relax == TRUE),
grouped = p_lgl(default = TRUE, tags = "train"),
intercept = p_lgl(default = TRUE, tags = "train"),
keep = p_lgl(default = FALSE, tags = "train"),
Expand All @@ -64,14 +64,12 @@ LearnerRegrCVGlmnet = R6Class("LearnerRegrCVGlmnet",
standardize.response = p_lgl(default = FALSE, tags = "train"),
thresh = p_dbl(0, default = 1e-07, tags = "train"),
trace.it = p_int(0, 1, default = 0, tags = "train"),
type.gaussian = p_fct(c("covariance", "naive"), tags = "train"),
type.gaussian = p_fct(c("covariance", "naive"), tags = "train", depends = family == "gaussian"),
type.logistic = p_fct(c("Newton", "modified.Newton"), tags = "train"),
type.measure = p_fct(c("deviance", "class", "auc", "mse", "mae"), default = "deviance", tags = "train"),
type.multinomial = p_fct(c("ungrouped", "grouped"), tags = "train"),
upper.limits = p_uty(tags = "train")
)
ps$add_dep("gamma", "relax", CondEqual$new(TRUE))
ps$add_dep("type.gaussian", "family", CondEqual$new("gaussian"))

ps$values = list(family = "gaussian")

Expand Down
6 changes: 2 additions & 4 deletions R/LearnerRegrGlmnet.R
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ LearnerRegrGlmnet = R6Class("LearnerRegrGlmnet",
exmx = p_dbl(default = 250.0, tags = "train"),
family = p_fct(c("gaussian", "poisson"), default = "gaussian", tags = "train"),
fdev = p_dbl(0, 1, default = 1.0e-5, tags = "train"),
gamma = p_dbl(default = 1, tags = "train"),
gamma = p_dbl(default = 1, tags = "train", depends = relax == TRUE),
grouped = p_lgl(default = TRUE, tags = "train"),
intercept = p_lgl(default = TRUE, tags = "train"),
keep = p_lgl(default = FALSE, tags = "train"),
Expand All @@ -65,13 +65,11 @@ LearnerRegrGlmnet = R6Class("LearnerRegrGlmnet",
standardize.response = p_lgl(default = FALSE, tags = "train"),
thresh = p_dbl(0, default = 1e-07, tags = "train"),
trace.it = p_int(0, 1, default = 0, tags = "train"),
type.gaussian = p_fct(c("covariance", "naive"), tags = "train"),
type.gaussian = p_fct(c("covariance", "naive"), tags = "train", depends = family == "gaussian"),
type.logistic = p_fct(c("Newton", "modified.Newton"), tags = "train"),
type.multinomial = p_fct(c("ungrouped", "grouped"), tags = "train"),
upper.limits = p_uty(tags = "train")
)
ps$add_dep("gamma", "relax", CondEqual$new(TRUE))
ps$add_dep("type.gaussian", "family", CondEqual$new("gaussian"))

ps$values = list(family = "gaussian")

Expand Down
Loading

0 comments on commit be362e0

Please sign in to comment.