From 2a747bdda4b76438e72316cf2fe46470f09fdbb9 Mon Sep 17 00:00:00 2001 From: mb706 Date: Sun, 14 Jan 2024 16:53:09 +0100 Subject: [PATCH 1/8] check with new paradox --- .github/workflows/r-cmd-check-paradox.yml | 44 +++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/r-cmd-check-paradox.yml diff --git a/.github/workflows/r-cmd-check-paradox.yml b/.github/workflows/r-cmd-check-paradox.yml new file mode 100644 index 00000000..96eba360 --- /dev/null +++ b/.github/workflows/r-cmd-check-paradox.yml @@ -0,0 +1,44 @@ +# r cmd check workflow of the mlr3 ecosystem v0.1.0 +# https://github.com/mlr-org/actions +on: + workflow_dispatch: + push: + branches: + - main + pull_request: + branches: + - main + +name: r-cmd-check-paradox + +jobs: + r-cmd-check: + runs-on: ${{ matrix.config.os }} + + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) + + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + + strategy: + fail-fast: false + matrix: + config: + - {os: ubuntu-latest, r: 'devel'} + - {os: ubuntu-latest, r: 'release'} + + steps: + - uses: actions/checkout@v3 + + - name: paradox + run: 'echo -e "Remotes:\n mlr-org/paradox@s3_params,\n mlr-org/mlr3learners@s3params_compat,\n mlr-org/mlr3pipelines@s3params_compat,\n mlr-org/bbotk@s3params_compat" >> DESCRIPTION' + + - uses: r-lib/actions/setup-r@v2 + with: + r-version: ${{ matrix.config.r }} + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::rcmdcheck + needs: check + - uses: r-lib/actions/check-r-package@v2 From a5f4947713888255fe62cbba4bc365e209ddb948 Mon Sep 17 00:00:00 2001 From: mb706 Date: Sun, 14 Jan 2024 18:28:52 +0100 Subject: [PATCH 2/8] new paradox --- R/helper.R | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/R/helper.R b/R/helper.R index cb87618c..6684e822 100644 --- a/R/helper.R +++ b/R/helper.R @@ -1,9 +1,19 @@ task_to_domain = function(task) { - ParamSet$new(map(task$feature_names, function(s) ParamLgl$new(id = s))) + params = rep(list(p_lgl()), length(task$feature_names)) + names(params) = task$feature_names + do.call(ps, params) } measures_to_codomain = function(measures) { - Codomain$new(map(as_measures(measures), function(s) { - ParamDbl$new(id = s$id, tags = ifelse(s$minimize, "minimize", "maximize")) - })) + measures = as_measures(measures) + domains = map(measures, function(s) { + if ("set_id" %in% names(ps())) { + # old paradox + get("ParamDbl")$new(id = s$id, tags = ifelse(s$minimize, "minimize", "maximize")) + } else { + p_dbl(tags = ifelse(s$minimize, "minimize", "maximize")) + } + }) + names(domains) = ids(measures) + Codomain$new(domains) } From 8c5dcbf5030be026ca2712086198d5421364fd10 Mon Sep 17 00:00:00 2001 From: mb706 Date: Sun, 14 Jan 2024 20:28:17 +0100 Subject: [PATCH 3/8] a required parameter can not have a default. --- R/FSelectorExhaustiveSearch.R | 2 +- R/FSelectorRandomSearch.R | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/R/FSelectorExhaustiveSearch.R b/R/FSelectorExhaustiveSearch.R index 92d556ca..add13cd1 100644 --- a/R/FSelectorExhaustiveSearch.R +++ b/R/FSelectorExhaustiveSearch.R @@ -33,7 +33,7 @@ FSelectorExhaustiveSearch = R6Class("FSelectorExhaustiveSearch", initialize = function() { ps = ps( max_features = p_int(lower = 1L), - batch_size = p_int(lower = 1L, default = 10L, tags = "required") + batch_size = p_int(lower = 1L, tags = "required") ) ps$values = list(batch_size = 10L) diff --git a/R/FSelectorRandomSearch.R b/R/FSelectorRandomSearch.R index 0664d7f8..8a0c65b9 100644 --- a/R/FSelectorRandomSearch.R +++ b/R/FSelectorRandomSearch.R @@ -65,7 +65,7 @@ FSelectorRandomSearch = R6Class("FSelectorRandomSearch", initialize = function() { ps = ps( max_features = p_int(lower = 1L), - batch_size = p_int(lower = 1L, default = 10L, tags = "required") + batch_size = p_int(lower = 1L, tags = "required") ) ps$values = list(batch_size = 10L) From 9c8ca7ad452e2763003e56d7055478d8949f7240 Mon Sep 17 00:00:00 2001 From: mb706 Date: Sun, 14 Jan 2024 20:38:35 +0100 Subject: [PATCH 4/8] new paradox syntax --- R/FSelectorShadowVariableSearch.R | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/R/FSelectorShadowVariableSearch.R b/R/FSelectorShadowVariableSearch.R index 4aefe9ce..46ffe1bf 100644 --- a/R/FSelectorShadowVariableSearch.R +++ b/R/FSelectorShadowVariableSearch.R @@ -101,7 +101,10 @@ FSelectorShadowVariableSearch = R6Class("FSelectorShadowVariableSearch", task$cbind(data) # add shadow variables to domain - inst$objective$domain = ParamSet$new(map(inst$objective$task$feature_names, function(s) ParamLgl$new(id = s))) + fnames = inst$objective$task$feature_names + params = rep(list(p_lgl()), length(inst$objective$task$feature_names)) + names(params) = fnames + inst$objective$domain = do.call(ps, params) # add shadow variables to search_space inst$archive$search_space = inst$objective$domain From a7dba1319ab3ce8b9818f8dde1d2fae0645dcdf0 Mon Sep 17 00:00:00 2001 From: mb706 Date: Sat, 20 Jan 2024 19:03:32 +0100 Subject: [PATCH 5/8] more checks --- .../r-cmd-check-old-paradox-new-other.yml | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/r-cmd-check-old-paradox-new-other.yml diff --git a/.github/workflows/r-cmd-check-old-paradox-new-other.yml b/.github/workflows/r-cmd-check-old-paradox-new-other.yml new file mode 100644 index 00000000..e00d4c38 --- /dev/null +++ b/.github/workflows/r-cmd-check-old-paradox-new-other.yml @@ -0,0 +1,44 @@ +# r cmd check workflow of the mlr3 ecosystem v0.1.0 +# https://github.com/mlr-org/actions +on: + workflow_dispatch: + push: + branches: + - main + pull_request: + branches: + - main + +name: r-cmd-check-paradox + +jobs: + r-cmd-check: + runs-on: ${{ matrix.config.os }} + + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) + + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + + strategy: + fail-fast: false + matrix: + config: + - {os: ubuntu-latest, r: 'devel'} + - {os: ubuntu-latest, r: 'release'} + + steps: + - uses: actions/checkout@v3 + + - name: paradox + run: 'echo -e "Remotes:\n mlr-org/mlr3learners@s3params_compat,\n mlr-org/mlr3pipelines@s3params_compat,\n mlr-org/bbotk@s3params_compat" >> DESCRIPTION' + + - uses: r-lib/actions/setup-r@v2 + with: + r-version: ${{ matrix.config.r }} + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::rcmdcheck + needs: check + - uses: r-lib/actions/check-r-package@v2 From 252144878c1fec328947bc99a0bcfd1cfe6a08ad Mon Sep 17 00:00:00 2001 From: mb706 Date: Wed, 28 Feb 2024 12:51:38 +0100 Subject: [PATCH 6/8] trigger actions From 5679a5705ecab6edc616d5ed819b174344d2d549 Mon Sep 17 00:00:00 2001 From: mb706 Date: Wed, 28 Feb 2024 15:45:54 +0100 Subject: [PATCH 7/8] dev cmd check with paradox master --- .github/workflows/dev-cmd-check.yml | 3 +- .../r-cmd-check-old-paradox-new-other.yml | 44 ------------------- .github/workflows/r-cmd-check-paradox.yml | 44 ------------------- 3 files changed, 2 insertions(+), 89 deletions(-) delete mode 100644 .github/workflows/r-cmd-check-old-paradox-new-other.yml delete mode 100644 .github/workflows/r-cmd-check-paradox.yml diff --git a/.github/workflows/dev-cmd-check.yml b/.github/workflows/dev-cmd-check.yml index c0d7283a..f481ead6 100644 --- a/.github/workflows/dev-cmd-check.yml +++ b/.github/workflows/dev-cmd-check.yml @@ -32,6 +32,7 @@ jobs: config: - {os: ubuntu-latest, r: 'release', dev-package: 'mlr-org/bbotk'} - {os: ubuntu-latest, r: 'release', dev-package: 'mlr-org/mlr3'} + - {os: ubuntu-latest, r: 'release', dev-package: "mlr-org/mlr3learners', 'mlr-org/mlr3pipelines', 'mlr-org/bbotk', 'mlr-org/paradox"} steps: - uses: actions/checkout@v3 @@ -48,7 +49,7 @@ jobs: needs: check - name: Install dev versions - run: pak::pkg_install('${{ matrix.config.dev-package }}') + run: pak::pkg_install(c('${{ matrix.config.dev-package }}')) shell: Rscript {0} - uses: mxschmitt/action-tmate@v3 diff --git a/.github/workflows/r-cmd-check-old-paradox-new-other.yml b/.github/workflows/r-cmd-check-old-paradox-new-other.yml deleted file mode 100644 index e00d4c38..00000000 --- a/.github/workflows/r-cmd-check-old-paradox-new-other.yml +++ /dev/null @@ -1,44 +0,0 @@ -# r cmd check workflow of the mlr3 ecosystem v0.1.0 -# https://github.com/mlr-org/actions -on: - workflow_dispatch: - push: - branches: - - main - pull_request: - branches: - - main - -name: r-cmd-check-paradox - -jobs: - r-cmd-check: - runs-on: ${{ matrix.config.os }} - - name: ${{ matrix.config.os }} (${{ matrix.config.r }}) - - env: - GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - - strategy: - fail-fast: false - matrix: - config: - - {os: ubuntu-latest, r: 'devel'} - - {os: ubuntu-latest, r: 'release'} - - steps: - - uses: actions/checkout@v3 - - - name: paradox - run: 'echo -e "Remotes:\n mlr-org/mlr3learners@s3params_compat,\n mlr-org/mlr3pipelines@s3params_compat,\n mlr-org/bbotk@s3params_compat" >> DESCRIPTION' - - - uses: r-lib/actions/setup-r@v2 - with: - r-version: ${{ matrix.config.r }} - - - uses: r-lib/actions/setup-r-dependencies@v2 - with: - extra-packages: any::rcmdcheck - needs: check - - uses: r-lib/actions/check-r-package@v2 diff --git a/.github/workflows/r-cmd-check-paradox.yml b/.github/workflows/r-cmd-check-paradox.yml deleted file mode 100644 index 96eba360..00000000 --- a/.github/workflows/r-cmd-check-paradox.yml +++ /dev/null @@ -1,44 +0,0 @@ -# r cmd check workflow of the mlr3 ecosystem v0.1.0 -# https://github.com/mlr-org/actions -on: - workflow_dispatch: - push: - branches: - - main - pull_request: - branches: - - main - -name: r-cmd-check-paradox - -jobs: - r-cmd-check: - runs-on: ${{ matrix.config.os }} - - name: ${{ matrix.config.os }} (${{ matrix.config.r }}) - - env: - GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - - strategy: - fail-fast: false - matrix: - config: - - {os: ubuntu-latest, r: 'devel'} - - {os: ubuntu-latest, r: 'release'} - - steps: - - uses: actions/checkout@v3 - - - name: paradox - run: 'echo -e "Remotes:\n mlr-org/paradox@s3_params,\n mlr-org/mlr3learners@s3params_compat,\n mlr-org/mlr3pipelines@s3params_compat,\n mlr-org/bbotk@s3params_compat" >> DESCRIPTION' - - - uses: r-lib/actions/setup-r@v2 - with: - r-version: ${{ matrix.config.r }} - - - uses: r-lib/actions/setup-r-dependencies@v2 - with: - extra-packages: any::rcmdcheck - needs: check - - uses: r-lib/actions/check-r-package@v2 From 89021191dfbaf4e63572a76b223b1398d4cc8e84 Mon Sep 17 00:00:00 2001 From: mb706 Date: Wed, 28 Feb 2024 16:11:20 +0100 Subject: [PATCH 8/8] news entry --- NEWS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index 7b6ac71e..d099b4a8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -10,6 +10,7 @@ * fix: Include `FSelector` in hash of `AutoFSelector`. * refactor: Change default batch size of `FSelectorRandomSearch` to 10. * feat: Add `batch_size` parameter to `FSelectorExhaustiveSearch` to reduce memory consumption. +* Compatibility with upcoming paradox release. # mlr3fselect 0.11.0