From f0105e94a670442a285a98bb6cb3e8563d7d3f26 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Tue, 16 Aug 2022 13:36:30 +0200 Subject: [PATCH 01/17] docs: add docs for PipeOpFilter --- DESCRIPTION | 1 + R/FilterAUC.R | 12 ++++ R/FilterAnova.R | 12 ++++ R/FilterCMIM.R | 22 +++++-- R/FilterCarScore.R | 12 ++++ R/FilterCorrelation.R | 11 ++++ R/FilterDISR.R | 22 +++++-- R/FilterFindCorrelation.R | 14 ++++- R/FilterImportance.R | 27 +++++++-- R/FilterInformationGain.R | 39 +++++++++---- R/FilterJMI.R | 24 ++++++-- R/FilterJMIM.R | 23 ++++++-- R/FilterKruskalTest.R | 12 ++++ R/FilterMIM.R | 23 ++++++-- R/FilterMRMR.R | 22 +++++-- R/FilterNJMIM.R | 22 +++++-- R/FilterPerformance.R | 12 ++++ R/FilterPermutation.R | 20 +++++++ R/FilterRelief.R | 26 +++++++-- R/FilterSelectedFeatures.R | 26 +++++++-- R/FilterVariance.R | 12 ++++ README.Rmd | 17 ++++++ README.md | 87 ++++++++++++++++++---------- man-roxygen/seealso_filter.R | 3 +- man/mlr_filters_anova.Rd | 17 +++++- man/mlr_filters_auc.Rd | 17 +++++- man/mlr_filters_carscore.Rd | 17 +++++- man/mlr_filters_carsurvscore.Rd | 5 +- man/mlr_filters_cmim.Rd | 27 +++++++-- man/mlr_filters_correlation.Rd | 16 ++++- man/mlr_filters_disr.Rd | 27 +++++++-- man/mlr_filters_find_correlation.Rd | 19 +++++- man/mlr_filters_importance.Rd | 32 ++++++++-- man/mlr_filters_information_gain.Rd | 43 ++++++++++---- man/mlr_filters_jmi.Rd | 27 +++++++-- man/mlr_filters_jmim.Rd | 28 +++++++-- man/mlr_filters_kruskal_test.Rd | 17 +++++- man/mlr_filters_mim.Rd | 28 +++++++-- man/mlr_filters_mrmr.Rd | 27 +++++++-- man/mlr_filters_njmim.Rd | 27 +++++++-- man/mlr_filters_performance.Rd | 17 +++++- man/mlr_filters_permutation.Rd | 26 ++++++++- man/mlr_filters_relief.Rd | 31 +++++++--- man/mlr_filters_selected_features.Rd | 30 ++++++++-- man/mlr_filters_variance.Rd | 17 +++++- 45 files changed, 829 insertions(+), 167 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 479bb0b9..16bf3352 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -37,6 +37,7 @@ Suggests: lgr, mlr3learners, mlr3measures, + mlr3pipelines, praznik, rpart, testthat (>= 3.0.0), diff --git a/R/FilterAUC.R b/R/FilterAUC.R index e5dbb3dd..54643daf 100644 --- a/R/FilterAUC.R +++ b/R/FilterAUC.R @@ -22,6 +22,18 @@ #' filter = flt("auc") #' filter$calculate(task) #' head(as.data.table(filter), 3) +#' +#' if (requireNamespace("mlr3pipelines")) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("auc"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterAUC = R6Class("FilterAUC", inherit = Filter, diff --git a/R/FilterAnova.R b/R/FilterAnova.R index 330ec50d..7d94b9a1 100644 --- a/R/FilterAnova.R +++ b/R/FilterAnova.R @@ -26,6 +26,18 @@ #' #' # transform to p-value #' 10^(-filter$scores) +#' +#' if (requireNamespace("mlr3pipelines")) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("anova"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterAnova = R6Class("FilterAnova", inherit = Filter, diff --git a/R/FilterCMIM.R b/R/FilterCMIM.R index 297146ed..a200a30f 100644 --- a/R/FilterCMIM.R +++ b/R/FilterCMIM.R @@ -19,10 +19,24 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("iris") -#' filter = flt("cmim") -#' filter$calculate(task, nfeat = 2) -#' as.data.table(filter) +#' if (requireNamespace("praznik")) { +#' task = mlr3::tsk("iris") +#' filter = flt("cmim") +#' filter$calculate(task, nfeat = 2) +#' as.data.table(filter) +#' } +#' +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("cmim"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterCMIM = R6Class("FilterCMIM", inherit = Filter, diff --git a/R/FilterCarScore.R b/R/FilterCarScore.R index 7db6555d..ea062927 100644 --- a/R/FilterCarScore.R +++ b/R/FilterCarScore.R @@ -24,6 +24,18 @@ #' filter$param_set$values = list("diagonal" = TRUE) #' filter$calculate(task) #' head(as.data.table(filter), 3) +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "care"), quietly = TRUE)) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("carscore"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' +#' } FilterCarScore = R6Class("FilterCarScore", inherit = Filter, diff --git a/R/FilterCorrelation.R b/R/FilterCorrelation.R index 6ac34448..756cf983 100644 --- a/R/FilterCorrelation.R +++ b/R/FilterCorrelation.R @@ -26,6 +26,17 @@ #' filter$param_set$values = list("method" = "spearman") #' filter$calculate(task) #' as.data.table(filter) +#' if (requireNamespace("mlr3pipelines")) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("boston_housing") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("correlation"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("regr.rpart")) +#' +#' graph$train(task) +#' } FilterCorrelation = R6Class("FilterCorrelation", inherit = Filter, diff --git a/R/FilterDISR.R b/R/FilterDISR.R index d1533044..e99bf223 100644 --- a/R/FilterDISR.R +++ b/R/FilterDISR.R @@ -19,10 +19,24 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("iris") -#' filter = flt("disr") -#' filter$calculate(task) -#' as.data.table(filter) +#' if (requireNamespace("praznik")) { +#' task = mlr3::tsk("iris") +#' filter = flt("disr") +#' filter$calculate(task) +#' as.data.table(filter) +#' } +#' +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("disr"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterDISR = R6Class("FilterDISR", inherit = Filter, diff --git a/R/FilterFindCorrelation.R b/R/FilterFindCorrelation.R index 39c47d73..d0e96ddd 100644 --- a/R/FilterFindCorrelation.R +++ b/R/FilterFindCorrelation.R @@ -19,7 +19,7 @@ #' @template seealso_filter #' @export #' @examples -#' ## Pearson (default) +#' # Pearson (default) #' task = mlr3::tsk("mtcars") #' filter = flt("find_correlation") #' filter$calculate(task) @@ -29,6 +29,18 @@ #' filter = flt("find_correlation", method = "spearman") #' filter$calculate(task) #' as.data.table(filter) +#' +#' if (requireNamespace("mlr3pipelines")) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("find_correlation"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterFindCorrelation = R6Class("FilterFindCorrelation", inherit = Filter, diff --git a/R/FilterImportance.R b/R/FilterImportance.R index 90d5cb57..9b26fc0b 100644 --- a/R/FilterImportance.R +++ b/R/FilterImportance.R @@ -11,11 +11,28 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("iris") -#' learner = mlr3::lrn("classif.rpart") -#' filter = flt("importance", learner = learner) -#' filter$calculate(task) -#' as.data.table(filter) +#' if (requireNamespace("MASS")) { +#' task = mlr3::tsk("iris") +#' learner = mlr3::lrn("classif.rpart") +#' filter = flt("importance", learner = learner) +#' filter$calculate(task) +#' as.data.table(filter) +#' } +#' +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { +#' library("mlr3learners") +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' learner = mlr3::lrn("classif.rpart") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("importance", learner = learner), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.lda")) +#' +#' graph$train(task) +#' } FilterImportance = R6Class("FilterImportance", inherit = Filter, diff --git a/R/FilterInformationGain.R b/R/FilterInformationGain.R index 748c63c8..9fc59ec6 100644 --- a/R/FilterInformationGain.R +++ b/R/FilterInformationGain.R @@ -1,3 +1,4 @@ + #' @title Information Gain Filter #' #' @name mlr_filters_information_gain @@ -15,19 +16,35 @@ #' @template seealso_filter #' @export #' @examples -#' ## InfoGain (default) -#' task = mlr3::tsk("pima") -#' filter = flt("information_gain") -#' filter$calculate(task) -#' head(filter$scores, 3) -#' as.data.table(filter) +#' if (requireNamespace("FSelectorRcpp")) { +#' ## InfoGain (default) +#' task = mlr3::tsk("pima") +#' filter = flt("information_gain") +#' filter$calculate(task) +#' head(filter$scores, 3) +#' as.data.table(filter) +#' +#' ## GainRatio +#' +#' filterGR = flt("information_gain") +#' filterGR$param_set$values = list("type" = "gainratio") +#' filterGR$calculate(task) +#' head(as.data.table(filterGR), 3) +#' +#' } +#' +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("information_gain"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) #' -#' ## GainRatio +#' graph$train(task) #' -#' filterGR = flt("information_gain") -#' filterGR$param_set$values = list("type" = "gainratio") -#' filterGR$calculate(task) -#' head(as.data.table(filterGR), 3) +#' } FilterInformationGain = R6Class("FilterInformationGain", inherit = Filter, diff --git a/R/FilterJMI.R b/R/FilterJMI.R index f3579e4e..0a1d31e0 100644 --- a/R/FilterJMI.R +++ b/R/FilterJMI.R @@ -1,3 +1,4 @@ + #' @title Joint Mutual Information Filter #' #' @name mlr_filters_jmi @@ -14,16 +15,29 @@ #' #' `r format_bib("bommert_2020")` #' -#' #' @template details_praznik #' @family Filter #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("iris") -#' filter = flt("jmi") -#' filter$calculate(task, nfeat = 2) -#' as.data.table(filter) +#' if (requireNamespace("praznik")) { +#' task = mlr3::tsk("iris") +#' filter = flt("jmi") +#' filter$calculate(task, nfeat = 2) +#' as.data.table(filter) +#' } +#' +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("jmi"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterJMI = R6Class("FilterJMI", inherit = Filter, diff --git a/R/FilterJMIM.R b/R/FilterJMIM.R index b93e5327..669c8ad2 100644 --- a/R/FilterJMIM.R +++ b/R/FilterJMIM.R @@ -19,10 +19,25 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("iris") -#' filter = flt("jmim") -#' filter$calculate(task, nfeat = 2) -#' as.data.table(filter) +#' if (requireNamespace("praznik")) { +#' task = mlr3::tsk("iris") +#' filter = flt("jmim") +#' filter$calculate(task, nfeat = 2) +#' as.data.table(filter) +#' } +#' +#' +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("jmim"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterJMIM = R6Class("FilterJMIM", inherit = Filter, diff --git a/R/FilterKruskalTest.R b/R/FilterKruskalTest.R index 06ddbd1d..85f2a0e3 100644 --- a/R/FilterKruskalTest.R +++ b/R/FilterKruskalTest.R @@ -25,6 +25,18 @@ #' #' # transform to p-value #' 10^(-filter$scores) +#' +#' if (requireNamespace("mlr3pipelines")) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("kruskal_test"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterKruskalTest = R6Class("FilterKruskalTest", inherit = Filter, diff --git a/R/FilterMIM.R b/R/FilterMIM.R index 9a94dbda..bd006204 100644 --- a/R/FilterMIM.R +++ b/R/FilterMIM.R @@ -19,10 +19,25 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("iris") -#' filter = flt("mim") -#' filter$calculate(task, nfeat = 2) -#' as.data.table(filter) +#' if (requireNamespace("praznik")) { +#' task = mlr3::tsk("iris") +#' filter = flt("mim") +#' filter$calculate(task, nfeat = 2) +#' as.data.table(filter) +#' } +#' +#' +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("mim"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterMIM = R6Class("FilterMIM", inherit = Filter, diff --git a/R/FilterMRMR.R b/R/FilterMRMR.R index f359b02d..60e1e415 100644 --- a/R/FilterMRMR.R +++ b/R/FilterMRMR.R @@ -19,10 +19,24 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("iris") -#' filter = flt("mrmr") -#' filter$calculate(task, nfeat = 2) -#' as.data.table(filter) +#' if (requireNamespace("praznik")) { +#' task = mlr3::tsk("iris") +#' filter = flt("mrmr") +#' filter$calculate(task, nfeat = 2) +#' as.data.table(filter) +#' } +#' +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("mrmr"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterMRMR = R6Class("FilterMRMR", inherit = Filter, diff --git a/R/FilterNJMIM.R b/R/FilterNJMIM.R index e48fe575..ed35a053 100644 --- a/R/FilterNJMIM.R +++ b/R/FilterNJMIM.R @@ -19,10 +19,24 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("iris") -#' filter = flt("njmim") -#' filter$calculate(task, nfeat = 2) -#' as.data.table(filter) +#' if (requireNamespace("praznik")) { +#' task = mlr3::tsk("iris") +#' filter = flt("njmim") +#' filter$calculate(task, nfeat = 2) +#' as.data.table(filter) +#' } +#' +#' if (mlr3misc::require_namespaces(c(c("mlr3pipelines", "praznik")), quietly = TRUE)) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("njmim"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterNJMIM = R6Class("FilterNJMIM", inherit = Filter, diff --git a/R/FilterPerformance.R b/R/FilterPerformance.R index 4cb8d21d..90118817 100644 --- a/R/FilterPerformance.R +++ b/R/FilterPerformance.R @@ -17,6 +17,18 @@ #' filter = flt("performance", learner = learner) #' filter$calculate(task) #' as.data.table(filter) +#' if (requireNamespace("mlr3pipelines")) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' l = lrn("classif.rpart") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("performance", learner = l), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterPerformance = R6Class("FilterPerformance", inherit = Filter, diff --git a/R/FilterPermutation.R b/R/FilterPermutation.R index fcb33fa1..f696e8e3 100644 --- a/R/FilterPermutation.R +++ b/R/FilterPermutation.R @@ -21,6 +21,26 @@ #' @family Filter #' @template seealso_filter #' @export +#' @examples +#' learner = mlr3::lrn("classif.rpart") +#' resampling = mlr3::rsmp("holdout") +#' measure = mlr3::msr("classif.acc") +#' filter = flt("permutation", learner = learner, measure = measure, resampling = resampling, nmc = 2) +#' task = mlr3::tsk("iris") +#' filter$calculate(task) +#' as.data.table(filter) +#' +#' if (requireNamespace("mlr3pipelines")) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("iris") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("permutation", nmc = 2), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterPermutation = R6Class("FilterPermutation", inherit = Filter, public = list( diff --git a/R/FilterRelief.R b/R/FilterRelief.R index 94cc51f6..d5fb046e 100644 --- a/R/FilterRelief.R +++ b/R/FilterRelief.R @@ -9,12 +9,26 @@ #' @template seealso_filter #' @export #' @examples -#' ## Relief (default) -#' task = mlr3::tsk("pima") -#' filter = flt("relief") -#' filter$calculate(task) -#' head(filter$scores, 3) -#' as.data.table(filter) +#' if (requireNamespace("FSelectorRcpp")) { +#' ## Relief (default) +#' task = mlr3::tsk("pima") +#' filter = flt("relief") +#' filter$calculate(task) +#' head(filter$scores, 3) +#' as.data.table(filter) +#' } +#' +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("iris") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("relief"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterRelief = R6Class("FilterRelief", inherit = Filter, diff --git a/R/FilterSelectedFeatures.R b/R/FilterSelectedFeatures.R index ee3bcef4..a02c2aaf 100644 --- a/R/FilterSelectedFeatures.R +++ b/R/FilterSelectedFeatures.R @@ -14,16 +14,30 @@ #' different from the order in the learner. In combination with #' \CRANpkg{mlr3pipelines}, only the filter criterion `cutoff` makes sense. #' -#' #' @family Filter #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("iris") -#' learner = mlr3::lrn("classif.rpart") -#' filter = flt("selected_features", learner = learner) -#' filter$calculate(task) -#' as.data.table(filter) +#' if (requireNamespace("MASS")) { +#' task = mlr3::tsk("iris") +#' learner = mlr3::lrn("classif.rpart") +#' filter = flt("selected_features", learner = learner) +#' filter$calculate(task) +#' as.data.table(filter) +#' } +#' +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = TRUE)) { +#' library("mlr3pipelines") +#' library("mlr3learners") +#' task = mlr3::tsk("spam") +#' +#' filter = flt("selected_features", learner = lrn("classif.rpart")) +#' +#' graph = po("filter", filter = filter) %>>% +#' po("learner", mlr3::lrn("classif.log_reg")) +#' +#' graph$train(task) +#' } FilterSelectedFeatures = R6Class("FilterSelectedFeatures", inherit = Filter, diff --git a/R/FilterVariance.R b/R/FilterVariance.R index 15352a4d..2b09eb78 100644 --- a/R/FilterVariance.R +++ b/R/FilterVariance.R @@ -21,6 +21,18 @@ #' filter$calculate(task) #' head(filter$scores, 3) #' as.data.table(filter) +#' +#' if (requireNamespace("mlr3pipelines")) { +#' library("mlr3pipelines") +#' task = mlr3::tsk("spam") +#' +#' # Note: The filter.frac is selected randomly and should be tuned. +#' +#' graph = po("filter", filter = flt("variance"), filter.frac = 0.5) %>>% +#' po("learner", mlr3::lrn("classif.rpart")) +#' +#' graph$train(task) +#' } FilterVariance = R6Class("FilterVariance", inherit = Filter, diff --git a/README.Rmd b/README.Rmd index 03a4f1c2..26666b4a 100644 --- a/README.Rmd +++ b/README.Rmd @@ -114,3 +114,20 @@ head(as.data.table(filter), 3) `FilterPerformance` is a univariate filter method which calls `resample()` with every predictor variable in the dataset and ranks the final outcome using the supplied measure. Any learner can be passed to this filter with `classif.rpart` being the default. Of course, also regression learners can be passed if the task is of type "regr". + + +### Filter-based Feature Selection + +In many cases filtering is only one step in the modeling pipeline. +To select features based on filter values, one can use [`PipeOpFilter`](https://mlr3pipelines.mlr-org.com/reference/mlr_pipeops_filter.html) from [mlr3pipelines](https://github.com/mlr-org/mlr3pipelines). + +```{r} +library(mlr3pipelines) +task = tsk("spam") + +# the filter.frac should be tuned +graph = po("filter", filter = flt("auc"), filter.frac = 0.5) %>>% + po("learner", lrn("classif.rpart")) + +learner = as_learner(graph) +rr = resample(task, learner, rsmp("holdout")) diff --git a/README.md b/README.md index 259203fb..82b34688 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # mlr3filters -Package website: [release](https://mlr3filters.mlr-org.com/) \| +Package website: [release](https://mlr3filters.mlr-org.com/) | [dev](https://mlr3filters.mlr-org.com/dev/) {mlr3filters} adds feature selection filters to @@ -54,6 +54,7 @@ as.data.table(filter$calculate(task)) ``` ## feature score + ## ## 1: glucose 0.2927906 ## 2: insulin 0.2316288 ## 3: mass 0.1870358 @@ -65,38 +66,40 @@ as.data.table(filter$calculate(task)) ### Implemented Filters -| Name | Task Type | Feature Types | Package | -|:------------------|:---------------|:-------------------------------------------|:------------------------------------------------------------------| -| anova | Classif | Integer, Numeric | stats | -| auc | Classif | Integer, Numeric | [mlr3measures](https://cran.r-project.org/package=mlr3measures) | -| carscore | Regr | Numeric | [care](https://cran.r-project.org/package=care) | -| cmim | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) | -| correlation | Regr | Integer, Numeric | stats | -| disr | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) | -| find_correlation | Classif & Regr | Integer, Numeric | stats | -| importance | Universal | Logical, Integer, Numeric, Factor, Ordered | | -| information_gain | Classif & Regr | Integer, Numeric, Factor, Ordered | [FSelectorRcpp](https://cran.r-project.org/package=FSelectorRcpp) | -| jmi | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) | -| jmim | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) | -| kruskal_test | Classif | Integer, Numeric | stats | -| mim | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) | -| mrmr | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) | -| njmim | Classif & Regr | Integer, Numeric, Factor, Ordered | [praznik](https://cran.r-project.org/package=praznik) | -| performance | Universal | Logical, Integer, Numeric, Factor, Ordered | | -| permutation | Universal | Logical, Integer, Numeric, Factor, Ordered | | -| relief | Classif & Regr | Integer, Numeric, Factor, Ordered | [FSelectorRcpp](https://cran.r-project.org/package=FSelectorRcpp) | -| selected_features | Classif | Logical, Integer, Numeric, Factor, Ordered | | -| variance | Classif & Regr | Integer, Numeric | stats | + ## Warning in `[.data.table`(as.data.table(mlr_filters), , !c("param_set", : + ## column(s) not removed because not found: [param_set] + +| Name | label | Task Type | params | Feature Types | Package | +| :----------------- | :------------------------------------------------------- | :------------- | :----------------------------------- | :------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- | +| anova | ANOVA F-Test | Classif | | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | +| auc | Area Under the ROC Curve Score | Classif | | Integer, Numeric | [c(“mlr3filters”, “mlr3measures”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22mlr3measures%22\)) | +| carsurvscore | Correlation-Adjusted coRrelation Survival Score | Surv | maxIPCweight, denom | Integer, Numeric | [c(“mlr3filters”, “carSurv”, “mlr3proba”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22carSurv%22,%20%22mlr3proba%22\)) | +| cmim | Minimal Conditional Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | +| correlation | Correlation | Regr | use , method | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | +| disr | Double Input Symmetrical Relevance | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | +| find\_correlation | Correlation-based Score | Classif & Regr | use , method | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | +| importance | Importance Score | Universal | method | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| information\_gain | Information Gain | Classif & Regr | type , equal , discIntegers, threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22FSelectorRcpp%22\)) | +| jmi | Joint Mutual Information | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | +| jmim | Minimal Joint Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | +| kruskal\_test | Kruskal-Wallis Test | Classif | na.action | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | +| mim | Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | +| mrmr | Minimum Redundancy Maximal Relevancy | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | +| njmim | Minimal Normalised Joint Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | +| performance | Predictive Performance | Universal | method | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| permutation | Permutation Score | Universal | standardize, nmc | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| relief | RELIEF | Classif & Regr | neighboursCount, sampleSize | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22FSelectorRcpp%22\)) | +| selected\_features | Embedded Feature Selection | Classif | method | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| variance | Variance | NA | na.rm | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | ### Variable Importance Filters The following learners allow the extraction of variable importance and therefore are supported by `FilterImportance`: - ## [1] "classif.featureless" "classif.ranger" "classif.rpart" - ## [4] "classif.xgboost" "regr.featureless" "regr.ranger" - ## [7] "regr.rpart" "regr.xgboost" "surv.ranger" - ## [10] "surv.xgboost" + ## [1] "classif.featureless" "classif.ranger" "classif.rpart" + ## [4] "classif.xgboost" "regr.featureless" "regr.ranger" + ## [7] "regr.rpart" "regr.xgboost" If your learner is not listed here but capable of extracting variable importance from the fitted model, the reason is most likely that it is @@ -119,10 +122,11 @@ filter$calculate(task) head(as.data.table(filter), 3) ``` - ## feature score - ## 1: Petal.Width 43.66496 - ## 2: Petal.Length 43.10837 - ## 3: Sepal.Length 10.21944 + ## feature score + ## + ## 1: Petal.Width 44.224198 + ## 2: Petal.Length 43.303520 + ## 3: Sepal.Length 9.618601 ### Performance Filter @@ -131,3 +135,24 @@ head(as.data.table(filter), 3) final outcome using the supplied measure. Any learner can be passed to this filter with `classif.rpart` being the default. Of course, also regression learners can be passed if the task is of type “regr”. + +### Filter-based Feature Selection + +In many cases filtering is only one step in the modeling pipeline. To +select features based on filter values, one can use +[`PipeOpFilter`](https://mlr3pipelines.mlr-org.com/reference/mlr_pipeops_filter.html) +from [mlr3pipelines](https://github.com/mlr-org/mlr3pipelines). + +``` r +library(mlr3pipelines) +task = tsk("spam") + +# the filter.frac should be tuned +graph = po("filter", filter = flt("auc"), filter.frac = 0.5) %>>% + po("learner", lrn("classif.rpart")) + +learner = as_learner(graph) +rr = resample(task, learner, rsmp("holdout")) +``` + + ## INFO [13:35:24.453] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) diff --git a/man-roxygen/seealso_filter.R b/man-roxygen/seealso_filter.R index c6def46e..dccba7be 100644 --- a/man-roxygen/seealso_filter.R +++ b/man-roxygen/seealso_filter.R @@ -1,2 +1,3 @@ #' @seealso -#' [Dictionary][mlr3misc::Dictionary] of [Filters][Filter]: [mlr_filters] +#' * [PipeOpFilter][mlr3pipelines::PipeOpFilter] for filter-based feature selection. +#' * [Dictionary][mlr3misc::Dictionary] of [Filters][Filter]: [mlr_filters] diff --git a/man/mlr_filters_anova.Rd b/man/mlr_filters_anova.Rd index 581542af..7d9fd059 100644 --- a/man/mlr_filters_anova.Rd +++ b/man/mlr_filters_anova.Rd @@ -20,6 +20,18 @@ head(as.data.table(filter), 3) # transform to p-value 10^(-filter$scores) + +if (requireNamespace("mlr3pipelines")) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("anova"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \references{ For a benchmark of filter methods: @@ -30,7 +42,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_auc.Rd b/man/mlr_filters_auc.Rd index 14e11eed..c94c33cf 100644 --- a/man/mlr_filters_auc.Rd +++ b/man/mlr_filters_auc.Rd @@ -16,6 +16,18 @@ task = mlr3::tsk("pima") filter = flt("auc") filter$calculate(task) head(as.data.table(filter), 3) + +if (requireNamespace("mlr3pipelines")) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("auc"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \references{ For a benchmark of filter methods: @@ -26,7 +38,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_carscore.Rd b/man/mlr_filters_carscore.Rd index fea06df7..61bf76ed 100644 --- a/man/mlr_filters_carscore.Rd +++ b/man/mlr_filters_carscore.Rd @@ -24,9 +24,24 @@ filter = flt("carscore") filter$param_set$values = list("diagonal" = TRUE) filter$calculate(task) head(as.data.table(filter), 3) +if (mlr3misc::require_namespaces(c("mlr3pipelines", "care"), quietly = TRUE)) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("carscore"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) + +} } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_carsurvscore.Rd b/man/mlr_filters_carsurvscore.Rd index a7f2e7b7..113297fc 100644 --- a/man/mlr_filters_carsurvscore.Rd +++ b/man/mlr_filters_carsurvscore.Rd @@ -16,7 +16,10 @@ Bommert A, Welchowski T, Schmid M, Rahnenführer J (2021). \doi{0.1093/bib/bbab354}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_cmim.Rd b/man/mlr_filters_cmim.Rd index 806cc26a..b364987b 100644 --- a/man/mlr_filters_cmim.Rd +++ b/man/mlr_filters_cmim.Rd @@ -20,10 +20,24 @@ Set to a number \verb{>= 2} to enable threading, or to \code{0} for auto-detecti of available cores. } \examples{ -task = mlr3::tsk("iris") -filter = flt("cmim") -filter$calculate(task, nfeat = 2) -as.data.table(filter) +if (requireNamespace("praznik")) { + task = mlr3::tsk("iris") + filter = flt("cmim") + filter$calculate(task, nfeat = 2) + as.data.table(filter) +} + +if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("cmim"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \references{ Kursa MB (2021). @@ -39,7 +53,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_correlation.Rd b/man/mlr_filters_correlation.Rd index 84e63c46..75d1cdd7 100644 --- a/man/mlr_filters_correlation.Rd +++ b/man/mlr_filters_correlation.Rd @@ -20,6 +20,17 @@ filter = FilterCorrelation$new() filter$param_set$values = list("method" = "spearman") filter$calculate(task) as.data.table(filter) +if (requireNamespace("mlr3pipelines")) { + library("mlr3pipelines") + task = mlr3::tsk("boston_housing") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("correlation"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("regr.rpart")) + + graph$train(task) +} } \references{ For a benchmark of filter methods: @@ -30,7 +41,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_disr.Rd b/man/mlr_filters_disr.Rd index ca0132ae..859aa4bb 100644 --- a/man/mlr_filters_disr.Rd +++ b/man/mlr_filters_disr.Rd @@ -20,10 +20,24 @@ Set to a number \verb{>= 2} to enable threading, or to \code{0} for auto-detecti of available cores. } \examples{ -task = mlr3::tsk("iris") -filter = flt("disr") -filter$calculate(task) -as.data.table(filter) +if (requireNamespace("praznik")) { + task = mlr3::tsk("iris") + filter = flt("disr") + filter$calculate(task) + as.data.table(filter) +} + +if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("disr"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \references{ Kursa MB (2021). @@ -39,7 +53,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_find_correlation.Rd b/man/mlr_filters_find_correlation.Rd index aa7fd62e..2bb68e85 100644 --- a/man/mlr_filters_find_correlation.Rd +++ b/man/mlr_filters_find_correlation.Rd @@ -18,7 +18,7 @@ Subsequently \code{caret::findCorrelation(cutoff = 0.9)} lists the same features that are excluded with \code{FilterFindCorrelation} at score 0.1 (= 1 - 0.9). } \examples{ -## Pearson (default) +# Pearson (default) task = mlr3::tsk("mtcars") filter = flt("find_correlation") filter$calculate(task) @@ -28,9 +28,24 @@ as.data.table(filter) filter = flt("find_correlation", method = "spearman") filter$calculate(task) as.data.table(filter) + +if (requireNamespace("mlr3pipelines")) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("find_correlation"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_importance.Rd b/man/mlr_filters_importance.Rd index 1e9b1753..d7406bb8 100644 --- a/man/mlr_filters_importance.Rd +++ b/man/mlr_filters_importance.Rd @@ -11,14 +11,34 @@ extracting the variable importance (property "importance"), fits the model and extracts the importance values to use as filter scores. } \examples{ -task = mlr3::tsk("iris") -learner = mlr3::lrn("classif.rpart") -filter = flt("importance", learner = learner) -filter$calculate(task) -as.data.table(filter) +if (requireNamespace("MASS")) { + task = mlr3::tsk("iris") + learner = mlr3::lrn("classif.rpart") + filter = flt("importance", learner = learner) + filter$calculate(task) + as.data.table(filter) +} + +if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { + library("mlr3learners") + library("mlr3pipelines") + task = mlr3::tsk("spam") + + learner = mlr3::lrn("classif.rpart") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("importance", learner = learner), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.lda")) + + graph$train(task) +} } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_information_gain.Rd b/man/mlr_filters_information_gain.Rd index 6b1b5a74..4ead6c41 100644 --- a/man/mlr_filters_information_gain.Rd +++ b/man/mlr_filters_information_gain.Rd @@ -15,22 +15,41 @@ Argument \code{equal} defaults to \code{FALSE} for classification tasks, and to \code{TRUE} for regression tasks. } \examples{ -## InfoGain (default) -task = mlr3::tsk("pima") -filter = flt("information_gain") -filter$calculate(task) -head(filter$scores, 3) -as.data.table(filter) +if (requireNamespace("FSelectorRcpp")) { + ## InfoGain (default) + task = mlr3::tsk("pima") + filter = flt("information_gain") + filter$calculate(task) + head(filter$scores, 3) + as.data.table(filter) -## GainRatio + ## GainRatio -filterGR = flt("information_gain") -filterGR$param_set$values = list("type" = "gainratio") -filterGR$calculate(task) -head(as.data.table(filterGR), 3) + filterGR = flt("information_gain") + filterGR$param_set$values = list("type" = "gainratio") + filterGR$calculate(task) + head(as.data.table(filterGR), 3) + +} + +if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("information_gain"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) + +} } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_jmi.Rd b/man/mlr_filters_jmi.Rd index ad637aa4..7e65d6cf 100644 --- a/man/mlr_filters_jmi.Rd +++ b/man/mlr_filters_jmi.Rd @@ -20,10 +20,24 @@ Set to a number \verb{>= 2} to enable threading, or to \code{0} for auto-detecti of available cores. } \examples{ -task = mlr3::tsk("iris") -filter = flt("jmi") -filter$calculate(task, nfeat = 2) -as.data.table(filter) +if (requireNamespace("praznik")) { + task = mlr3::tsk("iris") + filter = flt("jmi") + filter$calculate(task, nfeat = 2) + as.data.table(filter) +} + +if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("jmi"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \references{ Kursa MB (2021). @@ -39,7 +53,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_jmim.Rd b/man/mlr_filters_jmim.Rd index fc1e0e85..77da1db5 100644 --- a/man/mlr_filters_jmim.Rd +++ b/man/mlr_filters_jmim.Rd @@ -20,10 +20,25 @@ Set to a number \verb{>= 2} to enable threading, or to \code{0} for auto-detecti of available cores. } \examples{ -task = mlr3::tsk("iris") -filter = flt("jmim") -filter$calculate(task, nfeat = 2) -as.data.table(filter) +if (requireNamespace("praznik")) { + task = mlr3::tsk("iris") + filter = flt("jmim") + filter$calculate(task, nfeat = 2) + as.data.table(filter) +} + + +if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("jmim"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \references{ Kursa MB (2021). @@ -39,7 +54,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_kruskal_test.Rd b/man/mlr_filters_kruskal_test.Rd index 8ba1d725..31da1a49 100644 --- a/man/mlr_filters_kruskal_test.Rd +++ b/man/mlr_filters_kruskal_test.Rd @@ -19,6 +19,18 @@ as.data.table(filter) # transform to p-value 10^(-filter$scores) + +if (requireNamespace("mlr3pipelines")) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("kruskal_test"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \references{ For a benchmark of filter methods: @@ -29,7 +41,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_mim.Rd b/man/mlr_filters_mim.Rd index 05c2d992..30267f4c 100644 --- a/man/mlr_filters_mim.Rd +++ b/man/mlr_filters_mim.Rd @@ -20,10 +20,25 @@ Set to a number \verb{>= 2} to enable threading, or to \code{0} for auto-detecti of available cores. } \examples{ -task = mlr3::tsk("iris") -filter = flt("mim") -filter$calculate(task, nfeat = 2) -as.data.table(filter) +if (requireNamespace("praznik")) { + task = mlr3::tsk("iris") + filter = flt("mim") + filter$calculate(task, nfeat = 2) + as.data.table(filter) +} + + +if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("mim"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \references{ Kursa MB (2021). @@ -39,7 +54,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_mrmr.Rd b/man/mlr_filters_mrmr.Rd index 62f93b0e..d97ba0a3 100644 --- a/man/mlr_filters_mrmr.Rd +++ b/man/mlr_filters_mrmr.Rd @@ -20,10 +20,24 @@ Set to a number \verb{>= 2} to enable threading, or to \code{0} for auto-detecti of available cores. } \examples{ -task = mlr3::tsk("iris") -filter = flt("mrmr") -filter$calculate(task, nfeat = 2) -as.data.table(filter) +if (requireNamespace("praznik")) { + task = mlr3::tsk("iris") + filter = flt("mrmr") + filter$calculate(task, nfeat = 2) + as.data.table(filter) +} + +if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("mrmr"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \references{ Kursa MB (2021). @@ -39,7 +53,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_njmim.Rd b/man/mlr_filters_njmim.Rd index 79e7acd8..afb32357 100644 --- a/man/mlr_filters_njmim.Rd +++ b/man/mlr_filters_njmim.Rd @@ -20,10 +20,24 @@ Set to a number \verb{>= 2} to enable threading, or to \code{0} for auto-detecti of available cores. } \examples{ -task = mlr3::tsk("iris") -filter = flt("njmim") -filter$calculate(task, nfeat = 2) -as.data.table(filter) +if (requireNamespace("praznik")) { + task = mlr3::tsk("iris") + filter = flt("njmim") + filter$calculate(task, nfeat = 2) + as.data.table(filter) +} + +if (mlr3misc::require_namespaces(c(c("mlr3pipelines", "praznik")), quietly = TRUE)) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("njmim"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \references{ Kursa MB (2021). @@ -39,7 +53,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_performance.Rd b/man/mlr_filters_performance.Rd index b861959a..1f6228b5 100644 --- a/man/mlr_filters_performance.Rd +++ b/man/mlr_filters_performance.Rd @@ -17,9 +17,24 @@ learner = mlr3::lrn("classif.rpart") filter = flt("performance", learner = learner) filter$calculate(task) as.data.table(filter) +if (requireNamespace("mlr3pipelines")) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + l = lrn("classif.rpart") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("performance", learner = l), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_permutation.Rd b/man/mlr_filters_permutation.Rd index a3955160..256caae2 100644 --- a/man/mlr_filters_permutation.Rd +++ b/man/mlr_filters_permutation.Rd @@ -22,8 +22,32 @@ Number of Monte-Carlo iterations to use in computing the feature importance. } } +\examples{ +learner = mlr3::lrn("classif.rpart") +resampling = mlr3::rsmp("holdout") +measure = mlr3::msr("classif.acc") +filter = flt("permutation", learner = learner, measure = measure, resampling = resampling, nmc = 2) +task = mlr3::tsk("iris") +filter$calculate(task) +as.data.table(filter) + +if (requireNamespace("mlr3pipelines")) { + library("mlr3pipelines") + task = mlr3::tsk("iris") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("permutation", nmc = 2), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} +} \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_relief.Rd b/man/mlr_filters_relief.Rd index 31d15a28..e929f0c9 100644 --- a/man/mlr_filters_relief.Rd +++ b/man/mlr_filters_relief.Rd @@ -9,15 +9,32 @@ Information gain filter calling \code{\link[FSelectorRcpp:relief]{FSelectorRcpp::relief()}} in package \CRANpkg{FSelectorRcpp}. } \examples{ -## Relief (default) -task = mlr3::tsk("pima") -filter = flt("relief") -filter$calculate(task) -head(filter$scores, 3) -as.data.table(filter) +if (requireNamespace("FSelectorRcpp")) { + ## Relief (default) + task = mlr3::tsk("pima") + filter = flt("relief") + filter$calculate(task) + head(filter$scores, 3) + as.data.table(filter) +} + +if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { + library("mlr3pipelines") + task = mlr3::tsk("iris") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("relief"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_selected_features.Rd b/man/mlr_filters_selected_features.Rd index 68e6ae0b..a30ec63a 100644 --- a/man/mlr_filters_selected_features.Rd +++ b/man/mlr_filters_selected_features.Rd @@ -17,14 +17,32 @@ different from the order in the learner. In combination with \CRANpkg{mlr3pipelines}, only the filter criterion \code{cutoff} makes sense. } \examples{ -task = mlr3::tsk("iris") -learner = mlr3::lrn("classif.rpart") -filter = flt("selected_features", learner = learner) -filter$calculate(task) -as.data.table(filter) +if (requireNamespace("MASS")) { + task = mlr3::tsk("iris") + learner = mlr3::lrn("classif.rpart") + filter = flt("selected_features", learner = learner) + filter$calculate(task) + as.data.table(filter) +} + +if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = TRUE)) { + library("mlr3pipelines") + library("mlr3learners") + task = mlr3::tsk("spam") + + filter = flt("selected_features", learner = lrn("classif.rpart")) + + graph = po("filter", filter = filter) \%>>\% + po("learner", mlr3::lrn("classif.log_reg")) + + graph$train(task) +} } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, diff --git a/man/mlr_filters_variance.Rd b/man/mlr_filters_variance.Rd index 3f95b390..b5bfee43 100644 --- a/man/mlr_filters_variance.Rd +++ b/man/mlr_filters_variance.Rd @@ -15,6 +15,18 @@ filter = flt("variance") filter$calculate(task) head(filter$scores, 3) as.data.table(filter) + +if (requireNamespace("mlr3pipelines")) { + library("mlr3pipelines") + task = mlr3::tsk("spam") + + # Note: The filter.frac is selected randomly and should be tuned. + + graph = po("filter", filter = flt("variance"), filter.frac = 0.5) \%>>\% + po("learner", mlr3::lrn("classif.rpart")) + + graph$train(task) +} } \references{ For a benchmark of filter methods: @@ -25,7 +37,10 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). \doi{10.1016/j.csda.2019.106839}. } \seealso{ -\link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +\itemize{ +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} +} Other Filter: \code{\link{Filter}}, From 4a7b98cc94b4ec0bf7e7c4565c8bb12568091425 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Tue, 16 Aug 2022 13:37:15 +0200 Subject: [PATCH 02/17] docs: update news --- NEWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 9f806906..4a208877 100644 --- a/NEWS.md +++ b/NEWS.md @@ -3,7 +3,7 @@ # mlr3filters 0.5.0.9000 - Add references to benchmark paper and praznik paper #104 - +* Add documentation for PipeOpFilter # mlr3filters 0.5.0 From 4d63ea49673ce0f09693375976242af5911ca210 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 Aug 2022 11:38:55 +0000 Subject: [PATCH 03/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- R/FilterSelectedFeatures.R | 4 ++-- man/mlr_filters_anova.Rd | 10 +++++----- man/mlr_filters_auc.Rd | 10 +++++----- man/mlr_filters_carscore.Rd | 10 +++++----- man/mlr_filters_carsurvscore.Rd | 10 +++++----- man/mlr_filters_cmim.Rd | 10 +++++----- man/mlr_filters_correlation.Rd | 10 +++++----- man/mlr_filters_disr.Rd | 10 +++++----- man/mlr_filters_find_correlation.Rd | 10 +++++----- man/mlr_filters_importance.Rd | 10 +++++----- man/mlr_filters_information_gain.Rd | 10 +++++----- man/mlr_filters_jmi.Rd | 10 +++++----- man/mlr_filters_jmim.Rd | 10 +++++----- man/mlr_filters_kruskal_test.Rd | 10 +++++----- man/mlr_filters_mim.Rd | 10 +++++----- man/mlr_filters_mrmr.Rd | 10 +++++----- man/mlr_filters_njmim.Rd | 10 +++++----- man/mlr_filters_performance.Rd | 10 +++++----- man/mlr_filters_permutation.Rd | 10 +++++----- man/mlr_filters_relief.Rd | 10 +++++----- man/mlr_filters_selected_features.Rd | 14 +++++++------- man/mlr_filters_variance.Rd | 10 +++++----- 22 files changed, 109 insertions(+), 109 deletions(-) diff --git a/R/FilterSelectedFeatures.R b/R/FilterSelectedFeatures.R index a02c2aaf..63e4d112 100644 --- a/R/FilterSelectedFeatures.R +++ b/R/FilterSelectedFeatures.R @@ -18,7 +18,7 @@ #' @template seealso_filter #' @export #' @examples -#' if (requireNamespace("MASS")) { +#' if (requireNamespace("MASS")) { #' task = mlr3::tsk("iris") #' learner = mlr3::lrn("classif.rpart") #' filter = flt("selected_features", learner = learner) @@ -33,7 +33,7 @@ #' #' filter = flt("selected_features", learner = lrn("classif.rpart")) #' -#' graph = po("filter", filter = filter) %>>% +#' graph = po("filter", filter = filter) %>>% #' po("learner", mlr3::lrn("classif.log_reg")) #' #' graph$train(task) diff --git a/man/mlr_filters_anova.Rd b/man/mlr_filters_anova.Rd index 7d9fd059..0616a311 100644 --- a/man/mlr_filters_anova.Rd +++ b/man/mlr_filters_anova.Rd @@ -43,7 +43,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_auc.Rd b/man/mlr_filters_auc.Rd index c94c33cf..86c848f1 100644 --- a/man/mlr_filters_auc.Rd +++ b/man/mlr_filters_auc.Rd @@ -39,7 +39,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carscore.Rd b/man/mlr_filters_carscore.Rd index 61bf76ed..c5fa1b81 100644 --- a/man/mlr_filters_carscore.Rd +++ b/man/mlr_filters_carscore.Rd @@ -39,7 +39,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "care"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carsurvscore.Rd b/man/mlr_filters_carsurvscore.Rd index 113297fc..7dbc2e8f 100644 --- a/man/mlr_filters_carsurvscore.Rd +++ b/man/mlr_filters_carsurvscore.Rd @@ -17,7 +17,7 @@ Bommert A, Welchowski T, Schmid M, Rahnenführer J (2021). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -59,10 +59,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_cmim.Rd b/man/mlr_filters_cmim.Rd index b364987b..d3db3211 100644 --- a/man/mlr_filters_cmim.Rd +++ b/man/mlr_filters_cmim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_correlation.Rd b/man/mlr_filters_correlation.Rd index 75d1cdd7..815f7216 100644 --- a/man/mlr_filters_correlation.Rd +++ b/man/mlr_filters_correlation.Rd @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_disr.Rd b/man/mlr_filters_disr.Rd index 859aa4bb..ebf41d02 100644 --- a/man/mlr_filters_disr.Rd +++ b/man/mlr_filters_disr.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_find_correlation.Rd b/man/mlr_filters_find_correlation.Rd index 2bb68e85..a772132a 100644 --- a/man/mlr_filters_find_correlation.Rd +++ b/man/mlr_filters_find_correlation.Rd @@ -43,7 +43,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_importance.Rd b/man/mlr_filters_importance.Rd index d7406bb8..bd63b08f 100644 --- a/man/mlr_filters_importance.Rd +++ b/man/mlr_filters_importance.Rd @@ -36,7 +36,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), qui } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -86,10 +86,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_information_gain.Rd b/man/mlr_filters_information_gain.Rd index 4ead6c41..0ed7b180 100644 --- a/man/mlr_filters_information_gain.Rd +++ b/man/mlr_filters_information_gain.Rd @@ -47,7 +47,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -89,10 +89,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmi.Rd b/man/mlr_filters_jmi.Rd index 7e65d6cf..2962eeac 100644 --- a/man/mlr_filters_jmi.Rd +++ b/man/mlr_filters_jmi.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmim.Rd b/man/mlr_filters_jmim.Rd index 77da1db5..854d4120 100644 --- a/man/mlr_filters_jmim.Rd +++ b/man/mlr_filters_jmim.Rd @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_kruskal_test.Rd b/man/mlr_filters_kruskal_test.Rd index 31da1a49..5a56139d 100644 --- a/man/mlr_filters_kruskal_test.Rd +++ b/man/mlr_filters_kruskal_test.Rd @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mim.Rd b/man/mlr_filters_mim.Rd index 30267f4c..95b5edce 100644 --- a/man/mlr_filters_mim.Rd +++ b/man/mlr_filters_mim.Rd @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mrmr.Rd b/man/mlr_filters_mrmr.Rd index d97ba0a3..20504e4f 100644 --- a/man/mlr_filters_mrmr.Rd +++ b/man/mlr_filters_mrmr.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_njmim.Rd b/man/mlr_filters_njmim.Rd index afb32357..b3d6929c 100644 --- a/man/mlr_filters_njmim.Rd +++ b/man/mlr_filters_njmim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_performance.Rd b/man/mlr_filters_performance.Rd index 1f6228b5..0bfa262b 100644 --- a/man/mlr_filters_performance.Rd +++ b/man/mlr_filters_performance.Rd @@ -32,7 +32,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_permutation.Rd b/man/mlr_filters_permutation.Rd index 256caae2..567ca689 100644 --- a/man/mlr_filters_permutation.Rd +++ b/man/mlr_filters_permutation.Rd @@ -45,7 +45,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -98,10 +98,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_relief.Rd b/man/mlr_filters_relief.Rd index e929f0c9..0aec1b15 100644 --- a/man/mlr_filters_relief.Rd +++ b/man/mlr_filters_relief.Rd @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -74,10 +74,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_selected_features.Rd b/man/mlr_filters_selected_features.Rd index a30ec63a..d750efda 100644 --- a/man/mlr_filters_selected_features.Rd +++ b/man/mlr_filters_selected_features.Rd @@ -17,7 +17,7 @@ different from the order in the learner. In combination with \CRANpkg{mlr3pipelines}, only the filter criterion \code{cutoff} makes sense. } \examples{ -if (requireNamespace("MASS")) { +if (requireNamespace("MASS")) { task = mlr3::tsk("iris") learner = mlr3::lrn("classif.rpart") filter = flt("selected_features", learner = learner) @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = T filter = flt("selected_features", learner = lrn("classif.rpart")) - graph = po("filter", filter = filter) \%>>\% + graph = po("filter", filter = filter) \%>>\% po("learner", mlr3::lrn("classif.log_reg")) graph$train(task) @@ -40,7 +40,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = T } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -90,10 +90,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_variance.Rd b/man/mlr_filters_variance.Rd index b5bfee43..214ec2f4 100644 --- a/man/mlr_filters_variance.Rd +++ b/man/mlr_filters_variance.Rd @@ -38,7 +38,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -80,10 +80,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} From ed1022f640d93d18b305582880a54d6058f00913 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Tue, 16 Aug 2022 13:42:46 +0200 Subject: [PATCH 04/17] docs: fix readme --- README.Rmd | 1 + README.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.Rmd b/README.Rmd index 26666b4a..7a00b2e3 100644 --- a/README.Rmd +++ b/README.Rmd @@ -131,3 +131,4 @@ graph = po("filter", filter = flt("auc"), filter.frac = 0.5) %>>% learner = as_learner(graph) rr = resample(task, learner, rsmp("holdout")) +``` diff --git a/README.md b/README.md index 82b34688..b125a187 100644 --- a/README.md +++ b/README.md @@ -155,4 +155,4 @@ learner = as_learner(graph) rr = resample(task, learner, rsmp("holdout")) ``` - ## INFO [13:35:24.453] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) + ## INFO [13:42:32.254] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) From 9c39cb1004dcaca8b3225fc8d9a990f86db901c8 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Tue, 16 Aug 2022 13:43:26 +0200 Subject: [PATCH 05/17] docs: fix readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b125a187..2d235e2c 100644 --- a/README.md +++ b/README.md @@ -155,4 +155,4 @@ learner = as_learner(graph) rr = resample(task, learner, rsmp("holdout")) ``` - ## INFO [13:42:32.254] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) + ## INFO [13:43:20.500] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) From 13aeeecb786cde03a37fea6d055669a1f612f267 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Tue, 16 Aug 2022 13:47:32 +0200 Subject: [PATCH 06/17] docs: fix readme --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2d235e2c..148abf53 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,6 @@ as.data.table(filter$calculate(task)) ``` ## feature score - ## ## 1: glucose 0.2927906 ## 2: insulin 0.2316288 ## 3: mass 0.1870358 @@ -73,6 +72,7 @@ as.data.table(filter$calculate(task)) | :----------------- | :------------------------------------------------------- | :------------- | :----------------------------------- | :------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- | | anova | ANOVA F-Test | Classif | | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | | auc | Area Under the ROC Curve Score | Classif | | Integer, Numeric | [c(“mlr3filters”, “mlr3measures”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22mlr3measures%22\)) | +| carscore | Correlation-Adjusted coRrelation Score | Regr | lambda , diagonal, verbose | Numeric | [c(“mlr3filters”, “care”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22care%22\)) | | carsurvscore | Correlation-Adjusted coRrelation Survival Score | Surv | maxIPCweight, denom | Integer, Numeric | [c(“mlr3filters”, “carSurv”, “mlr3proba”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22carSurv%22,%20%22mlr3proba%22\)) | | cmim | Minimal Conditional Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | | correlation | Correlation | Regr | use , method | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | @@ -123,7 +123,6 @@ head(as.data.table(filter), 3) ``` ## feature score - ## ## 1: Petal.Width 44.224198 ## 2: Petal.Length 43.303520 ## 3: Sepal.Length 9.618601 @@ -155,4 +154,4 @@ learner = as_learner(graph) rr = resample(task, learner, rsmp("holdout")) ``` - ## INFO [13:43:20.500] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) + ## INFO [13:47:15.660] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) From 44ee8f118daf1035c2cfee854877b7d573720ca3 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Tue, 16 Aug 2022 14:09:12 +0200 Subject: [PATCH 07/17] docs: fix MASS dependency in examples --- DESCRIPTION | 1 + R/FilterAUC.R | 2 +- R/FilterAnova.R | 2 +- R/FilterCMIM.R | 2 +- R/FilterCarScore.R | 6 +++--- R/FilterCorrelation.R | 2 +- R/FilterDISR.R | 2 +- R/FilterFindCorrelation.R | 2 +- R/FilterInformationGain.R | 2 +- R/FilterJMI.R | 2 +- R/FilterJMIM.R | 2 +- R/FilterKruskalTest.R | 2 +- R/FilterMIM.R | 2 +- R/FilterMRMR.R | 2 +- R/FilterNJMIM.R | 2 +- R/FilterPerformance.R | 2 +- R/FilterPermutation.R | 2 +- R/FilterRelief.R | 2 +- R/FilterSelectedFeatures.R | 6 ++++-- R/FilterVariance.R | 2 +- man/mlr_filters_anova.Rd | 12 ++++++------ man/mlr_filters_auc.Rd | 12 ++++++------ man/mlr_filters_carscore.Rd | 16 ++++++++-------- man/mlr_filters_carsurvscore.Rd | 10 +++++----- man/mlr_filters_cmim.Rd | 12 ++++++------ man/mlr_filters_correlation.Rd | 12 ++++++------ man/mlr_filters_disr.Rd | 12 ++++++------ man/mlr_filters_find_correlation.Rd | 12 ++++++------ man/mlr_filters_importance.Rd | 10 +++++----- man/mlr_filters_information_gain.Rd | 12 ++++++------ man/mlr_filters_jmi.Rd | 12 ++++++------ man/mlr_filters_jmim.Rd | 12 ++++++------ man/mlr_filters_kruskal_test.Rd | 12 ++++++------ man/mlr_filters_mim.Rd | 12 ++++++------ man/mlr_filters_mrmr.Rd | 12 ++++++------ man/mlr_filters_njmim.Rd | 12 ++++++------ man/mlr_filters_performance.Rd | 12 ++++++------ man/mlr_filters_permutation.Rd | 12 ++++++------ man/mlr_filters_relief.Rd | 12 ++++++------ man/mlr_filters_selected_features.Rd | 16 +++++++++------- man/mlr_filters_variance.Rd | 12 ++++++------ 41 files changed, 154 insertions(+), 149 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 16bf3352..b8ca9f94 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -35,6 +35,7 @@ Suggests: FSelectorRcpp, knitr, lgr, + MASS, mlr3learners, mlr3measures, mlr3pipelines, diff --git a/R/FilterAUC.R b/R/FilterAUC.R index 54643daf..8aa9887f 100644 --- a/R/FilterAUC.R +++ b/R/FilterAUC.R @@ -23,7 +23,7 @@ #' filter$calculate(task) #' head(as.data.table(filter), 3) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterAnova.R b/R/FilterAnova.R index 7d94b9a1..91cbabd7 100644 --- a/R/FilterAnova.R +++ b/R/FilterAnova.R @@ -27,7 +27,7 @@ #' # transform to p-value #' 10^(-filter$scores) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterCMIM.R b/R/FilterCMIM.R index a200a30f..6066d207 100644 --- a/R/FilterCMIM.R +++ b/R/FilterCMIM.R @@ -26,7 +26,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterCarScore.R b/R/FilterCarScore.R index ea062927..34940732 100644 --- a/R/FilterCarScore.R +++ b/R/FilterCarScore.R @@ -24,14 +24,14 @@ #' filter$param_set$values = list("diagonal" = TRUE) #' filter$calculate(task) #' head(as.data.table(filter), 3) -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "care"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") -#' task = mlr3::tsk("spam") +#' task = mlr3::tsk("mtcars") #' #' # Note: The filter.frac is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("carscore"), filter.frac = 0.5) %>>% -#' po("learner", mlr3::lrn("classif.rpart")) +#' po("learner", mlr3::lrn("regr.rpart")) #' #' graph$train(task) #' diff --git a/R/FilterCorrelation.R b/R/FilterCorrelation.R index 756cf983..33941d38 100644 --- a/R/FilterCorrelation.R +++ b/R/FilterCorrelation.R @@ -26,7 +26,7 @@ #' filter$param_set$values = list("method" = "spearman") #' filter$calculate(task) #' as.data.table(filter) -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("boston_housing") #' diff --git a/R/FilterDISR.R b/R/FilterDISR.R index e99bf223..64ff3912 100644 --- a/R/FilterDISR.R +++ b/R/FilterDISR.R @@ -26,7 +26,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterFindCorrelation.R b/R/FilterFindCorrelation.R index d0e96ddd..017b2cf6 100644 --- a/R/FilterFindCorrelation.R +++ b/R/FilterFindCorrelation.R @@ -30,7 +30,7 @@ #' filter$calculate(task) #' as.data.table(filter) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterInformationGain.R b/R/FilterInformationGain.R index 9fc59ec6..c0260e1a 100644 --- a/R/FilterInformationGain.R +++ b/R/FilterInformationGain.R @@ -33,7 +33,7 @@ #' #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterJMI.R b/R/FilterJMI.R index 0a1d31e0..9070f94f 100644 --- a/R/FilterJMI.R +++ b/R/FilterJMI.R @@ -27,7 +27,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterJMIM.R b/R/FilterJMIM.R index 669c8ad2..adf12d20 100644 --- a/R/FilterJMIM.R +++ b/R/FilterJMIM.R @@ -27,7 +27,7 @@ #' } #' #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterKruskalTest.R b/R/FilterKruskalTest.R index 85f2a0e3..c855c5b5 100644 --- a/R/FilterKruskalTest.R +++ b/R/FilterKruskalTest.R @@ -26,7 +26,7 @@ #' # transform to p-value #' 10^(-filter$scores) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterMIM.R b/R/FilterMIM.R index bd006204..bc5976b0 100644 --- a/R/FilterMIM.R +++ b/R/FilterMIM.R @@ -27,7 +27,7 @@ #' } #' #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterMRMR.R b/R/FilterMRMR.R index 60e1e415..834e843f 100644 --- a/R/FilterMRMR.R +++ b/R/FilterMRMR.R @@ -26,7 +26,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterNJMIM.R b/R/FilterNJMIM.R index ed35a053..474a5a39 100644 --- a/R/FilterNJMIM.R +++ b/R/FilterNJMIM.R @@ -26,7 +26,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c(c("mlr3pipelines", "praznik")), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterPerformance.R b/R/FilterPerformance.R index 90118817..063a2bf8 100644 --- a/R/FilterPerformance.R +++ b/R/FilterPerformance.R @@ -17,7 +17,7 @@ #' filter = flt("performance", learner = learner) #' filter$calculate(task) #' as.data.table(filter) -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' l = lrn("classif.rpart") diff --git a/R/FilterPermutation.R b/R/FilterPermutation.R index f696e8e3..bac18feb 100644 --- a/R/FilterPermutation.R +++ b/R/FilterPermutation.R @@ -30,7 +30,7 @@ #' filter$calculate(task) #' as.data.table(filter) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("iris") #' diff --git a/R/FilterRelief.R b/R/FilterRelief.R index d5fb046e..c17715bb 100644 --- a/R/FilterRelief.R +++ b/R/FilterRelief.R @@ -18,7 +18,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("iris") #' diff --git a/R/FilterSelectedFeatures.R b/R/FilterSelectedFeatures.R index 63e4d112..3d28e876 100644 --- a/R/FilterSelectedFeatures.R +++ b/R/FilterSelectedFeatures.R @@ -26,14 +26,16 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' library("mlr3learners") #' task = mlr3::tsk("spam") #' #' filter = flt("selected_features", learner = lrn("classif.rpart")) #' -#' graph = po("filter", filter = filter) %>>% +#' # Note: All filter scores are either 0 or 1 +#' +#' graph = po("filter", filter = filter, filter.cutoff = 0.5) %>>% #' po("learner", mlr3::lrn("classif.log_reg")) #' #' graph$train(task) diff --git a/R/FilterVariance.R b/R/FilterVariance.R index 2b09eb78..bcc1b351 100644 --- a/R/FilterVariance.R +++ b/R/FilterVariance.R @@ -22,7 +22,7 @@ #' head(filter$scores, 3) #' as.data.table(filter) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/man/mlr_filters_anova.Rd b/man/mlr_filters_anova.Rd index 0616a311..1b51c5ac 100644 --- a/man/mlr_filters_anova.Rd +++ b/man/mlr_filters_anova.Rd @@ -21,7 +21,7 @@ head(as.data.table(filter), 3) # transform to p-value 10^(-filter$scores) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -43,7 +43,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_auc.Rd b/man/mlr_filters_auc.Rd index 86c848f1..6fb28055 100644 --- a/man/mlr_filters_auc.Rd +++ b/man/mlr_filters_auc.Rd @@ -17,7 +17,7 @@ filter = flt("auc") filter$calculate(task) head(as.data.table(filter), 3) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -39,7 +39,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carscore.Rd b/man/mlr_filters_carscore.Rd index c5fa1b81..aba29faa 100644 --- a/man/mlr_filters_carscore.Rd +++ b/man/mlr_filters_carscore.Rd @@ -24,14 +24,14 @@ filter = flt("carscore") filter$param_set$values = list("diagonal" = TRUE) filter$calculate(task) head(as.data.table(filter), 3) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "care"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = TRUE)) { library("mlr3pipelines") - task = mlr3::tsk("spam") + task = mlr3::tsk("mtcars") # Note: The filter.frac is selected randomly and should be tuned. graph = po("filter", filter = flt("carscore"), filter.frac = 0.5) \%>>\% - po("learner", mlr3::lrn("classif.rpart")) + po("learner", mlr3::lrn("regr.rpart")) graph$train(task) @@ -39,7 +39,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "care"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carsurvscore.Rd b/man/mlr_filters_carsurvscore.Rd index 7dbc2e8f..113297fc 100644 --- a/man/mlr_filters_carsurvscore.Rd +++ b/man/mlr_filters_carsurvscore.Rd @@ -17,7 +17,7 @@ Bommert A, Welchowski T, Schmid M, Rahnenführer J (2021). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -59,10 +59,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_cmim.Rd b/man/mlr_filters_cmim.Rd index d3db3211..c34fe96d 100644 --- a/man/mlr_filters_cmim.Rd +++ b/man/mlr_filters_cmim.Rd @@ -27,7 +27,7 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_correlation.Rd b/man/mlr_filters_correlation.Rd index 815f7216..735c3907 100644 --- a/man/mlr_filters_correlation.Rd +++ b/man/mlr_filters_correlation.Rd @@ -20,7 +20,7 @@ filter = FilterCorrelation$new() filter$param_set$values = list("method" = "spearman") filter$calculate(task) as.data.table(filter) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("boston_housing") @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_disr.Rd b/man/mlr_filters_disr.Rd index ebf41d02..a188e52c 100644 --- a/man/mlr_filters_disr.Rd +++ b/man/mlr_filters_disr.Rd @@ -27,7 +27,7 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_find_correlation.Rd b/man/mlr_filters_find_correlation.Rd index a772132a..cad6cfcd 100644 --- a/man/mlr_filters_find_correlation.Rd +++ b/man/mlr_filters_find_correlation.Rd @@ -29,7 +29,7 @@ filter = flt("find_correlation", method = "spearman") filter$calculate(task) as.data.table(filter) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -43,7 +43,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_importance.Rd b/man/mlr_filters_importance.Rd index bd63b08f..d7406bb8 100644 --- a/man/mlr_filters_importance.Rd +++ b/man/mlr_filters_importance.Rd @@ -36,7 +36,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), qui } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -86,10 +86,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_information_gain.Rd b/man/mlr_filters_information_gain.Rd index 0ed7b180..5d3d5158 100644 --- a/man/mlr_filters_information_gain.Rd +++ b/man/mlr_filters_information_gain.Rd @@ -32,7 +32,7 @@ if (requireNamespace("FSelectorRcpp")) { } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -47,7 +47,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -89,10 +89,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmi.Rd b/man/mlr_filters_jmi.Rd index 2962eeac..db5ceff8 100644 --- a/man/mlr_filters_jmi.Rd +++ b/man/mlr_filters_jmi.Rd @@ -27,7 +27,7 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmim.Rd b/man/mlr_filters_jmim.Rd index 854d4120..9e6203eb 100644 --- a/man/mlr_filters_jmim.Rd +++ b/man/mlr_filters_jmim.Rd @@ -28,7 +28,7 @@ if (requireNamespace("praznik")) { } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_kruskal_test.Rd b/man/mlr_filters_kruskal_test.Rd index 5a56139d..d6eb8fe2 100644 --- a/man/mlr_filters_kruskal_test.Rd +++ b/man/mlr_filters_kruskal_test.Rd @@ -20,7 +20,7 @@ as.data.table(filter) # transform to p-value 10^(-filter$scores) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mim.Rd b/man/mlr_filters_mim.Rd index 95b5edce..fea6d837 100644 --- a/man/mlr_filters_mim.Rd +++ b/man/mlr_filters_mim.Rd @@ -28,7 +28,7 @@ if (requireNamespace("praznik")) { } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mrmr.Rd b/man/mlr_filters_mrmr.Rd index 20504e4f..58e4d751 100644 --- a/man/mlr_filters_mrmr.Rd +++ b/man/mlr_filters_mrmr.Rd @@ -27,7 +27,7 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_njmim.Rd b/man/mlr_filters_njmim.Rd index b3d6929c..c311218d 100644 --- a/man/mlr_filters_njmim.Rd +++ b/man/mlr_filters_njmim.Rd @@ -27,7 +27,7 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c(c("mlr3pipelines", "praznik")), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_performance.Rd b/man/mlr_filters_performance.Rd index 0bfa262b..e0a217bd 100644 --- a/man/mlr_filters_performance.Rd +++ b/man/mlr_filters_performance.Rd @@ -17,7 +17,7 @@ learner = mlr3::lrn("classif.rpart") filter = flt("performance", learner = learner) filter$calculate(task) as.data.table(filter) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") l = lrn("classif.rpart") @@ -32,7 +32,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_permutation.Rd b/man/mlr_filters_permutation.Rd index 567ca689..62e7a578 100644 --- a/man/mlr_filters_permutation.Rd +++ b/man/mlr_filters_permutation.Rd @@ -31,7 +31,7 @@ task = mlr3::tsk("iris") filter$calculate(task) as.data.table(filter) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("iris") @@ -45,7 +45,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -98,10 +98,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_relief.Rd b/man/mlr_filters_relief.Rd index 0aec1b15..bc8607d5 100644 --- a/man/mlr_filters_relief.Rd +++ b/man/mlr_filters_relief.Rd @@ -18,7 +18,7 @@ if (requireNamespace("FSelectorRcpp")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("iris") @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -74,10 +74,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_selected_features.Rd b/man/mlr_filters_selected_features.Rd index d750efda..3e600df1 100644 --- a/man/mlr_filters_selected_features.Rd +++ b/man/mlr_filters_selected_features.Rd @@ -25,14 +25,16 @@ if (requireNamespace("MASS")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { library("mlr3pipelines") library("mlr3learners") task = mlr3::tsk("spam") filter = flt("selected_features", learner = lrn("classif.rpart")) - graph = po("filter", filter = filter) \%>>\% + # Note: All filter scores are either 0 or 1 + + graph = po("filter", filter = filter, filter.cutoff = 0.5) \%>>\% po("learner", mlr3::lrn("classif.log_reg")) graph$train(task) @@ -40,7 +42,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = T } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -90,10 +92,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_variance.Rd b/man/mlr_filters_variance.Rd index 214ec2f4..f2adc8d7 100644 --- a/man/mlr_filters_variance.Rd +++ b/man/mlr_filters_variance.Rd @@ -16,7 +16,7 @@ filter$calculate(task) head(filter$scores, 3) as.data.table(filter) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -38,7 +38,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -80,10 +80,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} From 324b73032c64d702cf2104427db81b6b930b0db5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 Aug 2022 12:10:14 +0000 Subject: [PATCH 08/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- man/mlr_filters_anova.Rd | 10 +++++----- man/mlr_filters_auc.Rd | 10 +++++----- man/mlr_filters_carscore.Rd | 10 +++++----- man/mlr_filters_carsurvscore.Rd | 10 +++++----- man/mlr_filters_cmim.Rd | 10 +++++----- man/mlr_filters_correlation.Rd | 10 +++++----- man/mlr_filters_disr.Rd | 10 +++++----- man/mlr_filters_find_correlation.Rd | 10 +++++----- man/mlr_filters_importance.Rd | 10 +++++----- man/mlr_filters_information_gain.Rd | 10 +++++----- man/mlr_filters_jmi.Rd | 10 +++++----- man/mlr_filters_jmim.Rd | 10 +++++----- man/mlr_filters_kruskal_test.Rd | 10 +++++----- man/mlr_filters_mim.Rd | 10 +++++----- man/mlr_filters_mrmr.Rd | 10 +++++----- man/mlr_filters_njmim.Rd | 10 +++++----- man/mlr_filters_performance.Rd | 10 +++++----- man/mlr_filters_permutation.Rd | 10 +++++----- man/mlr_filters_relief.Rd | 10 +++++----- man/mlr_filters_selected_features.Rd | 10 +++++----- man/mlr_filters_variance.Rd | 10 +++++----- 21 files changed, 105 insertions(+), 105 deletions(-) diff --git a/man/mlr_filters_anova.Rd b/man/mlr_filters_anova.Rd index 1b51c5ac..705d6316 100644 --- a/man/mlr_filters_anova.Rd +++ b/man/mlr_filters_anova.Rd @@ -43,7 +43,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_auc.Rd b/man/mlr_filters_auc.Rd index 6fb28055..08b5bb15 100644 --- a/man/mlr_filters_auc.Rd +++ b/man/mlr_filters_auc.Rd @@ -39,7 +39,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carscore.Rd b/man/mlr_filters_carscore.Rd index aba29faa..42081245 100644 --- a/man/mlr_filters_carscore.Rd +++ b/man/mlr_filters_carscore.Rd @@ -39,7 +39,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = T } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carsurvscore.Rd b/man/mlr_filters_carsurvscore.Rd index 113297fc..7dbc2e8f 100644 --- a/man/mlr_filters_carsurvscore.Rd +++ b/man/mlr_filters_carsurvscore.Rd @@ -17,7 +17,7 @@ Bommert A, Welchowski T, Schmid M, Rahnenführer J (2021). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -59,10 +59,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_cmim.Rd b/man/mlr_filters_cmim.Rd index c34fe96d..01f2f9aa 100644 --- a/man/mlr_filters_cmim.Rd +++ b/man/mlr_filters_cmim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_correlation.Rd b/man/mlr_filters_correlation.Rd index 735c3907..8d8104bf 100644 --- a/man/mlr_filters_correlation.Rd +++ b/man/mlr_filters_correlation.Rd @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_disr.Rd b/man/mlr_filters_disr.Rd index a188e52c..ac861b88 100644 --- a/man/mlr_filters_disr.Rd +++ b/man/mlr_filters_disr.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_find_correlation.Rd b/man/mlr_filters_find_correlation.Rd index cad6cfcd..9fdd52a7 100644 --- a/man/mlr_filters_find_correlation.Rd +++ b/man/mlr_filters_find_correlation.Rd @@ -43,7 +43,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_importance.Rd b/man/mlr_filters_importance.Rd index d7406bb8..bd63b08f 100644 --- a/man/mlr_filters_importance.Rd +++ b/man/mlr_filters_importance.Rd @@ -36,7 +36,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), qui } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -86,10 +86,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_information_gain.Rd b/man/mlr_filters_information_gain.Rd index 5d3d5158..23bb4b0f 100644 --- a/man/mlr_filters_information_gain.Rd +++ b/man/mlr_filters_information_gain.Rd @@ -47,7 +47,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), qu } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -89,10 +89,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmi.Rd b/man/mlr_filters_jmi.Rd index db5ceff8..2698b3f0 100644 --- a/man/mlr_filters_jmi.Rd +++ b/man/mlr_filters_jmi.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmim.Rd b/man/mlr_filters_jmim.Rd index 9e6203eb..488d10eb 100644 --- a/man/mlr_filters_jmim.Rd +++ b/man/mlr_filters_jmim.Rd @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_kruskal_test.Rd b/man/mlr_filters_kruskal_test.Rd index d6eb8fe2..01c8c273 100644 --- a/man/mlr_filters_kruskal_test.Rd +++ b/man/mlr_filters_kruskal_test.Rd @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mim.Rd b/man/mlr_filters_mim.Rd index fea6d837..56207fa9 100644 --- a/man/mlr_filters_mim.Rd +++ b/man/mlr_filters_mim.Rd @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mrmr.Rd b/man/mlr_filters_mrmr.Rd index 58e4d751..c78ea13d 100644 --- a/man/mlr_filters_mrmr.Rd +++ b/man/mlr_filters_mrmr.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_njmim.Rd b/man/mlr_filters_njmim.Rd index c311218d..36c01bf7 100644 --- a/man/mlr_filters_njmim.Rd +++ b/man/mlr_filters_njmim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_performance.Rd b/man/mlr_filters_performance.Rd index e0a217bd..68a89c4c 100644 --- a/man/mlr_filters_performance.Rd +++ b/man/mlr_filters_performance.Rd @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_permutation.Rd b/man/mlr_filters_permutation.Rd index 62e7a578..e4f7d52a 100644 --- a/man/mlr_filters_permutation.Rd +++ b/man/mlr_filters_permutation.Rd @@ -45,7 +45,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -98,10 +98,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_relief.Rd b/man/mlr_filters_relief.Rd index bc8607d5..dc48193e 100644 --- a/man/mlr_filters_relief.Rd +++ b/man/mlr_filters_relief.Rd @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), qu } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -74,10 +74,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_selected_features.Rd b/man/mlr_filters_selected_features.Rd index 3e600df1..51f3a5c3 100644 --- a/man/mlr_filters_selected_features.Rd +++ b/man/mlr_filters_selected_features.Rd @@ -42,7 +42,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), qui } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -92,10 +92,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_variance.Rd b/man/mlr_filters_variance.Rd index f2adc8d7..92e36131 100644 --- a/man/mlr_filters_variance.Rd +++ b/man/mlr_filters_variance.Rd @@ -38,7 +38,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -80,10 +80,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} From 8eb216475cfface7f47f86d71697aaafce61337a Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Thu, 25 Aug 2022 10:11:14 +0200 Subject: [PATCH 09/17] cleanup --- DESCRIPTION | 1 - R/FilterAUC.R | 14 ++++--- R/FilterAnova.R | 4 +- R/FilterCMIM.R | 4 +- R/FilterCarScore.R | 14 ++++--- R/FilterCorrelation.R | 4 +- R/FilterDISR.R | 4 +- R/FilterFindCorrelation.R | 4 +- R/FilterImportance.R | 8 ++-- R/FilterInformationGain.R | 4 +- R/FilterJMI.R | 4 +- R/FilterJMIM.R | 5 +-- R/FilterKruskalTest.R | 4 +- R/FilterMIM.R | 5 +-- R/FilterMRMR.R | 4 +- R/FilterNJMIM.R | 4 +- R/FilterPerformance.R | 16 ++++---- R/FilterPermutation.R | 21 ++++++----- R/FilterRelief.R | 4 +- R/FilterSelectedFeatures.R | 7 ++-- R/FilterVariance.R | 4 +- README.Rmd | 4 +- README.md | 56 ++++++++++++++-------------- man/mlr_filters_anova.Rd | 14 +++---- man/mlr_filters_auc.Rd | 14 +++---- man/mlr_filters_carscore.Rd | 24 ++++++------ man/mlr_filters_carsurvscore.Rd | 10 ++--- man/mlr_filters_cmim.Rd | 14 +++---- man/mlr_filters_correlation.Rd | 14 +++---- man/mlr_filters_disr.Rd | 14 +++---- man/mlr_filters_find_correlation.Rd | 14 +++---- man/mlr_filters_importance.Rd | 18 ++++----- man/mlr_filters_information_gain.Rd | 14 +++---- man/mlr_filters_jmi.Rd | 14 +++---- man/mlr_filters_jmim.Rd | 15 ++++---- man/mlr_filters_kruskal_test.Rd | 14 +++---- man/mlr_filters_mim.Rd | 15 ++++---- man/mlr_filters_mrmr.Rd | 14 +++---- man/mlr_filters_njmim.Rd | 14 +++---- man/mlr_filters_performance.Rd | 26 +++++++------ man/mlr_filters_permutation.Rd | 31 ++++++++------- man/mlr_filters_relief.Rd | 14 +++---- man/mlr_filters_selected_features.Rd | 17 +++++---- man/mlr_filters_variance.Rd | 14 +++---- 44 files changed, 274 insertions(+), 263 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index b8ca9f94..16bf3352 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -35,7 +35,6 @@ Suggests: FSelectorRcpp, knitr, lgr, - MASS, mlr3learners, mlr3measures, mlr3pipelines, diff --git a/R/FilterAUC.R b/R/FilterAUC.R index 8aa9887f..533259d1 100644 --- a/R/FilterAUC.R +++ b/R/FilterAUC.R @@ -18,16 +18,18 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("pima") -#' filter = flt("auc") -#' filter$calculate(task) -#' head(as.data.table(filter), 3) +#' if (requireNamespace("mlr3measures")) { +#' task = mlr3::tsk("pima") +#' filter = flt("auc") +#' filter$calculate(task) +#' head(as.data.table(filter), 3) +#' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "mlr3measures"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("auc"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterAnova.R b/R/FilterAnova.R index 91cbabd7..a75ad53d 100644 --- a/R/FilterAnova.R +++ b/R/FilterAnova.R @@ -27,11 +27,11 @@ #' # transform to p-value #' 10^(-filter$scores) #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("anova"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterCMIM.R b/R/FilterCMIM.R index 6066d207..26c426e9 100644 --- a/R/FilterCMIM.R +++ b/R/FilterCMIM.R @@ -26,11 +26,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("cmim"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterCarScore.R b/R/FilterCarScore.R index 34940732..9f71a31b 100644 --- a/R/FilterCarScore.R +++ b/R/FilterCarScore.R @@ -14,21 +14,23 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("mtcars") -#' filter = flt("carscore") -#' filter$calculate(task) -#' head(as.data.table(filter), 3) +#' if (requireNamespace("care")) { +#' task = mlr3::tsk("mtcars") +#' filter = flt("carscore") +#' filter$calculate(task) +#' head(as.data.table(filter), 3) +#' } #' #' ## changing filter settings #' filter = flt("carscore") #' filter$param_set$values = list("diagonal" = TRUE) #' filter$calculate(task) #' head(as.data.table(filter), 3) -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("mtcars") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("carscore"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("regr.rpart")) diff --git a/R/FilterCorrelation.R b/R/FilterCorrelation.R index 33941d38..e7ea9ed9 100644 --- a/R/FilterCorrelation.R +++ b/R/FilterCorrelation.R @@ -26,11 +26,11 @@ #' filter$param_set$values = list("method" = "spearman") #' filter$calculate(task) #' as.data.table(filter) -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("boston_housing") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("correlation"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("regr.rpart")) diff --git a/R/FilterDISR.R b/R/FilterDISR.R index 64ff3912..99640c93 100644 --- a/R/FilterDISR.R +++ b/R/FilterDISR.R @@ -26,11 +26,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("disr"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterFindCorrelation.R b/R/FilterFindCorrelation.R index 017b2cf6..eb2ff9e2 100644 --- a/R/FilterFindCorrelation.R +++ b/R/FilterFindCorrelation.R @@ -30,11 +30,11 @@ #' filter$calculate(task) #' as.data.table(filter) #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("find_correlation"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterImportance.R b/R/FilterImportance.R index 9b26fc0b..acfaa8c7 100644 --- a/R/FilterImportance.R +++ b/R/FilterImportance.R @@ -11,7 +11,7 @@ #' @template seealso_filter #' @export #' @examples -#' if (requireNamespace("MASS")) { +#' if (requireNamespace("rpart")) { #' task = mlr3::tsk("iris") #' learner = mlr3::lrn("classif.rpart") #' filter = flt("importance", learner = learner) @@ -19,17 +19,17 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "mlr3learners"), quietly = TRUE)) { #' library("mlr3learners") #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' #' learner = mlr3::lrn("classif.rpart") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("importance", learner = learner), filter.frac = 0.5) %>>% -#' po("learner", mlr3::lrn("classif.lda")) +#' po("learner", mlr3::lrn("classif.log_reg")) #' #' graph$train(task) #' } diff --git a/R/FilterInformationGain.R b/R/FilterInformationGain.R index c0260e1a..640b274d 100644 --- a/R/FilterInformationGain.R +++ b/R/FilterInformationGain.R @@ -33,11 +33,11 @@ #' #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("information_gain"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterJMI.R b/R/FilterJMI.R index 9070f94f..37a86647 100644 --- a/R/FilterJMI.R +++ b/R/FilterJMI.R @@ -27,11 +27,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("jmi"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterJMIM.R b/R/FilterJMIM.R index adf12d20..05fab154 100644 --- a/R/FilterJMIM.R +++ b/R/FilterJMIM.R @@ -26,12 +26,11 @@ #' as.data.table(filter) #' } #' -#' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("jmim"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterKruskalTest.R b/R/FilterKruskalTest.R index c855c5b5..a190a55a 100644 --- a/R/FilterKruskalTest.R +++ b/R/FilterKruskalTest.R @@ -26,11 +26,11 @@ #' # transform to p-value #' 10^(-filter$scores) #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("kruskal_test"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterMIM.R b/R/FilterMIM.R index bc5976b0..f959e0a4 100644 --- a/R/FilterMIM.R +++ b/R/FilterMIM.R @@ -26,12 +26,11 @@ #' as.data.table(filter) #' } #' -#' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("mim"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterMRMR.R b/R/FilterMRMR.R index 834e843f..f1fe70ba 100644 --- a/R/FilterMRMR.R +++ b/R/FilterMRMR.R @@ -26,11 +26,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("mrmr"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterNJMIM.R b/R/FilterNJMIM.R index 474a5a39..eceeb3ab 100644 --- a/R/FilterNJMIM.R +++ b/R/FilterNJMIM.R @@ -26,11 +26,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("njmim"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterPerformance.R b/R/FilterPerformance.R index 063a2bf8..84d476ea 100644 --- a/R/FilterPerformance.R +++ b/R/FilterPerformance.R @@ -12,17 +12,19 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("iris") -#' learner = mlr3::lrn("classif.rpart") -#' filter = flt("performance", learner = learner) -#' filter$calculate(task) -#' as.data.table(filter) -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (requireNamespace("rpart")) { +#' task = mlr3::tsk("iris") +#' learner = mlr3::lrn("classif.rpart") +#' filter = flt("performance", learner = learner) +#' filter$calculate(task) +#' as.data.table(filter) +#' } +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' l = lrn("classif.rpart") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("performance", learner = l), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterPermutation.R b/R/FilterPermutation.R index bac18feb..3752f8a6 100644 --- a/R/FilterPermutation.R +++ b/R/FilterPermutation.R @@ -22,19 +22,22 @@ #' @template seealso_filter #' @export #' @examples -#' learner = mlr3::lrn("classif.rpart") -#' resampling = mlr3::rsmp("holdout") -#' measure = mlr3::msr("classif.acc") -#' filter = flt("permutation", learner = learner, measure = measure, resampling = resampling, nmc = 2) -#' task = mlr3::tsk("iris") -#' filter$calculate(task) -#' as.data.table(filter) +#' if (requireNamespace("rpart")) { +#' learner = mlr3::lrn("classif.rpart") +#' resampling = mlr3::rsmp("holdout") +#' measure = mlr3::msr("classif.acc") +#' filter = flt("permutation", learner = learner, measure = measure, resampling = resampling, +#' nmc = 2) +#' task = mlr3::tsk("iris") +#' filter$calculate(task) +#' as.data.table(filter) +#' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("iris") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("permutation", nmc = 2), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterRelief.R b/R/FilterRelief.R index c17715bb..7681e2ac 100644 --- a/R/FilterRelief.R +++ b/R/FilterRelief.R @@ -18,11 +18,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("iris") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("relief"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterSelectedFeatures.R b/R/FilterSelectedFeatures.R index 3d28e876..c9a6b81b 100644 --- a/R/FilterSelectedFeatures.R +++ b/R/FilterSelectedFeatures.R @@ -18,7 +18,7 @@ #' @template seealso_filter #' @export #' @examples -#' if (requireNamespace("MASS")) { +#' if (requireNamespace("rpart")) { #' task = mlr3::tsk("iris") #' learner = mlr3::lrn("classif.rpart") #' filter = flt("selected_features", learner = learner) @@ -26,14 +26,15 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' library("mlr3learners") #' task = mlr3::tsk("spam") #' #' filter = flt("selected_features", learner = lrn("classif.rpart")) #' -#' # Note: All filter scores are either 0 or 1 +#' # Note: All filter scores are either 0 or 1, i.e. setting `filter.cutoff = 0.5` means that +#' # we select all "selected features". #' #' graph = po("filter", filter = filter, filter.cutoff = 0.5) %>>% #' po("learner", mlr3::lrn("classif.log_reg")) diff --git a/R/FilterVariance.R b/R/FilterVariance.R index bcc1b351..64f23d65 100644 --- a/R/FilterVariance.R +++ b/R/FilterVariance.R @@ -22,11 +22,11 @@ #' head(filter$scores, 3) #' as.data.table(filter) #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("variance"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/README.Rmd b/README.Rmd index 7a00b2e3..6732a061 100644 --- a/README.Rmd +++ b/README.Rmd @@ -64,7 +64,7 @@ link_cran = function(x) { ifelse(x %in% getOption("defaultPackages"), x, sprintf("[%1$s](https://cran.r-project.org/package=%1$s)", x)) } -tab = as.data.table(mlr_filters)[, !c("param_set", "task_properties")] +tab = as.data.table(mlr_filters)[, !c("params", "task_properties")] tab[, task_type := sapply(task_type, function(x) paste(capitalize(x), collapse = " & "))] tab[, feature_types := sapply(feature_types, function(x) paste(capitalize(x), collapse = ", "))] tab[, packages := link_cran(packages)] @@ -125,7 +125,7 @@ To select features based on filter values, one can use [`PipeOpFilter`](https:// library(mlr3pipelines) task = tsk("spam") -# the filter.frac should be tuned +# the `filter.frac` should be tuned graph = po("filter", filter = flt("auc"), filter.frac = 0.5) %>>% po("learner", lrn("classif.rpart")) diff --git a/README.md b/README.md index 148abf53..c30b8d1f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # mlr3filters -Package website: [release](https://mlr3filters.mlr-org.com/) | +Package website: [release](https://mlr3filters.mlr-org.com/) \| [dev](https://mlr3filters.mlr-org.com/dev/) {mlr3filters} adds feature selection filters to @@ -54,6 +54,7 @@ as.data.table(filter$calculate(task)) ``` ## feature score + ## ## 1: glucose 0.2927906 ## 2: insulin 0.2316288 ## 3: mass 0.1870358 @@ -65,32 +66,28 @@ as.data.table(filter$calculate(task)) ### Implemented Filters - ## Warning in `[.data.table`(as.data.table(mlr_filters), , !c("param_set", : - ## column(s) not removed because not found: [param_set] - -| Name | label | Task Type | params | Feature Types | Package | -| :----------------- | :------------------------------------------------------- | :------------- | :----------------------------------- | :------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- | -| anova | ANOVA F-Test | Classif | | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | -| auc | Area Under the ROC Curve Score | Classif | | Integer, Numeric | [c(“mlr3filters”, “mlr3measures”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22mlr3measures%22\)) | -| carscore | Correlation-Adjusted coRrelation Score | Regr | lambda , diagonal, verbose | Numeric | [c(“mlr3filters”, “care”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22care%22\)) | -| carsurvscore | Correlation-Adjusted coRrelation Survival Score | Surv | maxIPCweight, denom | Integer, Numeric | [c(“mlr3filters”, “carSurv”, “mlr3proba”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22carSurv%22,%20%22mlr3proba%22\)) | -| cmim | Minimal Conditional Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| correlation | Correlation | Regr | use , method | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | -| disr | Double Input Symmetrical Relevance | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| find\_correlation | Correlation-based Score | Classif & Regr | use , method | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | -| importance | Importance Score | Universal | method | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | -| information\_gain | Information Gain | Classif & Regr | type , equal , discIntegers, threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22FSelectorRcpp%22\)) | -| jmi | Joint Mutual Information | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| jmim | Minimal Joint Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| kruskal\_test | Kruskal-Wallis Test | Classif | na.action | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | -| mim | Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| mrmr | Minimum Redundancy Maximal Relevancy | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| njmim | Minimal Normalised Joint Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| performance | Predictive Performance | Universal | method | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | -| permutation | Permutation Score | Universal | standardize, nmc | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | -| relief | RELIEF | Classif & Regr | neighboursCount, sampleSize | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22FSelectorRcpp%22\)) | -| selected\_features | Embedded Feature Selection | Classif | method | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | -| variance | Variance | NA | na.rm | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | +| Name | label | Task Type | Feature Types | Package | +|:------------------|:---------------------------------------------------------|:---------------|:---------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------| +| anova | ANOVA F-Test | Classif | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22stats%22)) | +| auc | Area Under the ROC Curve Score | Classif | Integer, Numeric | [c(“mlr3filters”, “mlr3measures”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22mlr3measures%22)) | +| carsurvscore | Correlation-Adjusted coRrelation Survival Score | Surv | Integer, Numeric | [c(“mlr3filters”, “carSurv”, “mlr3proba”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22carSurv%22,%20%22mlr3proba%22)) | +| cmim | Minimal Conditional Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| correlation | Correlation | Regr | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22stats%22)) | +| disr | Double Input Symmetrical Relevance | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| find_correlation | Correlation-based Score | Classif & Regr | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22stats%22)) | +| importance | Importance Score | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| information_gain | Information Gain | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22FSelectorRcpp%22)) | +| jmi | Joint Mutual Information | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| jmim | Minimal Joint Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| kruskal_test | Kruskal-Wallis Test | Classif | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22stats%22)) | +| mim | Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| mrmr | Minimum Redundancy Maximal Relevancy | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| njmim | Minimal Normalised Joint Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| performance | Predictive Performance | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| permutation | Permutation Score | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| relief | RELIEF | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22FSelectorRcpp%22)) | +| selected_features | Embedded Feature Selection | Classif | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| variance | Variance | NA | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22stats%22)) | ### Variable Importance Filters @@ -123,6 +120,7 @@ head(as.data.table(filter), 3) ``` ## feature score + ## ## 1: Petal.Width 44.224198 ## 2: Petal.Length 43.303520 ## 3: Sepal.Length 9.618601 @@ -146,7 +144,7 @@ from [mlr3pipelines](https://github.com/mlr-org/mlr3pipelines). library(mlr3pipelines) task = tsk("spam") -# the filter.frac should be tuned +# the `filter.frac` should be tuned graph = po("filter", filter = flt("auc"), filter.frac = 0.5) %>>% po("learner", lrn("classif.rpart")) @@ -154,4 +152,4 @@ learner = as_learner(graph) rr = resample(task, learner, rsmp("holdout")) ``` - ## INFO [13:47:15.660] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) + ## INFO [10:07:19.891] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) diff --git a/man/mlr_filters_anova.Rd b/man/mlr_filters_anova.Rd index 705d6316..d9057aee 100644 --- a/man/mlr_filters_anova.Rd +++ b/man/mlr_filters_anova.Rd @@ -21,11 +21,11 @@ head(as.data.table(filter), 3) # transform to p-value 10^(-filter$scores) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("anova"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -43,7 +43,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_auc.Rd b/man/mlr_filters_auc.Rd index 08b5bb15..af2aa4f1 100644 --- a/man/mlr_filters_auc.Rd +++ b/man/mlr_filters_auc.Rd @@ -17,11 +17,11 @@ filter = flt("auc") filter$calculate(task) head(as.data.table(filter), 3) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("auc"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -39,7 +39,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carscore.Rd b/man/mlr_filters_carscore.Rd index 42081245..1032a372 100644 --- a/man/mlr_filters_carscore.Rd +++ b/man/mlr_filters_carscore.Rd @@ -14,21 +14,23 @@ returns the absolute value of the calculated scores. Argument \code{verbose} defaults to \code{FALSE}. } \examples{ -task = mlr3::tsk("mtcars") -filter = flt("carscore") -filter$calculate(task) -head(as.data.table(filter), 3) +if (requireNamespace("care")) { + task = mlr3::tsk("mtcars") + filter = flt("carscore") + filter$calculate(task) + head(as.data.table(filter), 3) +} ## changing filter settings filter = flt("carscore") filter$param_set$values = list("diagonal" = TRUE) filter$calculate(task) head(as.data.table(filter), 3) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("mtcars") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("carscore"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("regr.rpart")) @@ -39,7 +41,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = T } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +83,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carsurvscore.Rd b/man/mlr_filters_carsurvscore.Rd index 7dbc2e8f..113297fc 100644 --- a/man/mlr_filters_carsurvscore.Rd +++ b/man/mlr_filters_carsurvscore.Rd @@ -17,7 +17,7 @@ Bommert A, Welchowski T, Schmid M, Rahnenführer J (2021). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -59,10 +59,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_cmim.Rd b/man/mlr_filters_cmim.Rd index 01f2f9aa..f837cbcb 100644 --- a/man/mlr_filters_cmim.Rd +++ b/man/mlr_filters_cmim.Rd @@ -27,11 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("cmim"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_correlation.Rd b/man/mlr_filters_correlation.Rd index 8d8104bf..1b4f9c96 100644 --- a/man/mlr_filters_correlation.Rd +++ b/man/mlr_filters_correlation.Rd @@ -20,11 +20,11 @@ filter = FilterCorrelation$new() filter$param_set$values = list("method" = "spearman") filter$calculate(task) as.data.table(filter) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("boston_housing") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("correlation"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("regr.rpart")) @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_disr.Rd b/man/mlr_filters_disr.Rd index ac861b88..62ae92bc 100644 --- a/man/mlr_filters_disr.Rd +++ b/man/mlr_filters_disr.Rd @@ -27,11 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("disr"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_find_correlation.Rd b/man/mlr_filters_find_correlation.Rd index 9fdd52a7..00cc2323 100644 --- a/man/mlr_filters_find_correlation.Rd +++ b/man/mlr_filters_find_correlation.Rd @@ -29,11 +29,11 @@ filter = flt("find_correlation", method = "spearman") filter$calculate(task) as.data.table(filter) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("find_correlation"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -43,7 +43,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_importance.Rd b/man/mlr_filters_importance.Rd index bd63b08f..4301aca2 100644 --- a/man/mlr_filters_importance.Rd +++ b/man/mlr_filters_importance.Rd @@ -11,7 +11,7 @@ extracting the variable importance (property "importance"), fits the model and extracts the importance values to use as filter scores. } \examples{ -if (requireNamespace("MASS")) { +if (requireNamespace("rpart")) { task = mlr3::tsk("iris") learner = mlr3::lrn("classif.rpart") filter = flt("importance", learner = learner) @@ -19,24 +19,24 @@ if (requireNamespace("MASS")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = TRUE)) { library("mlr3learners") library("mlr3pipelines") task = mlr3::tsk("spam") learner = mlr3::lrn("classif.rpart") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("importance", learner = learner), filter.frac = 0.5) \%>>\% - po("learner", mlr3::lrn("classif.lda")) + po("learner", mlr3::lrn("classif.log_reg")) graph$train(task) } } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -86,10 +86,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_information_gain.Rd b/man/mlr_filters_information_gain.Rd index 23bb4b0f..bcfc88d4 100644 --- a/man/mlr_filters_information_gain.Rd +++ b/man/mlr_filters_information_gain.Rd @@ -32,11 +32,11 @@ if (requireNamespace("FSelectorRcpp")) { } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("information_gain"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -47,7 +47,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), qu } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -89,10 +89,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmi.Rd b/man/mlr_filters_jmi.Rd index 2698b3f0..cb67300e 100644 --- a/man/mlr_filters_jmi.Rd +++ b/man/mlr_filters_jmi.Rd @@ -27,11 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("jmi"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmim.Rd b/man/mlr_filters_jmim.Rd index 488d10eb..f00531bf 100644 --- a/man/mlr_filters_jmim.Rd +++ b/man/mlr_filters_jmim.Rd @@ -27,12 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } - -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("jmim"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -55,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_kruskal_test.Rd b/man/mlr_filters_kruskal_test.Rd index 01c8c273..23672529 100644 --- a/man/mlr_filters_kruskal_test.Rd +++ b/man/mlr_filters_kruskal_test.Rd @@ -20,11 +20,11 @@ as.data.table(filter) # transform to p-value 10^(-filter$scores) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("kruskal_test"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mim.Rd b/man/mlr_filters_mim.Rd index 56207fa9..9404074b 100644 --- a/man/mlr_filters_mim.Rd +++ b/man/mlr_filters_mim.Rd @@ -27,12 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } - -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("mim"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -55,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mrmr.Rd b/man/mlr_filters_mrmr.Rd index c78ea13d..d29ac31d 100644 --- a/man/mlr_filters_mrmr.Rd +++ b/man/mlr_filters_mrmr.Rd @@ -27,11 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("mrmr"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_njmim.Rd b/man/mlr_filters_njmim.Rd index 36c01bf7..da4d0fc4 100644 --- a/man/mlr_filters_njmim.Rd +++ b/man/mlr_filters_njmim.Rd @@ -27,11 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("njmim"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_performance.Rd b/man/mlr_filters_performance.Rd index 68a89c4c..618618cd 100644 --- a/man/mlr_filters_performance.Rd +++ b/man/mlr_filters_performance.Rd @@ -12,17 +12,19 @@ feature separately. The filter score is the aggregated performance of the to be minimized. } \examples{ -task = mlr3::tsk("iris") -learner = mlr3::lrn("classif.rpart") -filter = flt("performance", learner = learner) -filter$calculate(task) -as.data.table(filter) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (requireNamespace("rpart")) { + task = mlr3::tsk("iris") + learner = mlr3::lrn("classif.rpart") + filter = flt("performance", learner = learner) + filter$calculate(task) + as.data.table(filter) +} +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") l = lrn("classif.rpart") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("performance", learner = l), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -32,7 +34,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +87,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_permutation.Rd b/man/mlr_filters_permutation.Rd index e4f7d52a..d543ef31 100644 --- a/man/mlr_filters_permutation.Rd +++ b/man/mlr_filters_permutation.Rd @@ -23,19 +23,22 @@ Number of Monte-Carlo iterations to use in computing the feature importance. } \examples{ -learner = mlr3::lrn("classif.rpart") -resampling = mlr3::rsmp("holdout") -measure = mlr3::msr("classif.acc") -filter = flt("permutation", learner = learner, measure = measure, resampling = resampling, nmc = 2) -task = mlr3::tsk("iris") -filter$calculate(task) -as.data.table(filter) +if (requireNamespace("rpart")) { + learner = mlr3::lrn("classif.rpart") + resampling = mlr3::rsmp("holdout") + measure = mlr3::msr("classif.acc") + filter = flt("permutation", learner = learner, measure = measure, resampling = resampling, + nmc = 2) + task = mlr3::tsk("iris") + filter$calculate(task) + as.data.table(filter) +} -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("iris") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("permutation", nmc = 2), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -45,7 +48,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -98,10 +101,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_relief.Rd b/man/mlr_filters_relief.Rd index dc48193e..e38e6aa7 100644 --- a/man/mlr_filters_relief.Rd +++ b/man/mlr_filters_relief.Rd @@ -18,11 +18,11 @@ if (requireNamespace("FSelectorRcpp")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("iris") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("relief"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), qu } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -74,10 +74,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_selected_features.Rd b/man/mlr_filters_selected_features.Rd index 51f3a5c3..cf26e6c4 100644 --- a/man/mlr_filters_selected_features.Rd +++ b/man/mlr_filters_selected_features.Rd @@ -17,7 +17,7 @@ different from the order in the learner. In combination with \CRANpkg{mlr3pipelines}, only the filter criterion \code{cutoff} makes sense. } \examples{ -if (requireNamespace("MASS")) { +if (requireNamespace("rpart")) { task = mlr3::tsk("iris") learner = mlr3::lrn("classif.rpart") filter = flt("selected_features", learner = learner) @@ -25,14 +25,15 @@ if (requireNamespace("MASS")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "rpart"), quietly = TRUE)) { library("mlr3pipelines") library("mlr3learners") task = mlr3::tsk("spam") filter = flt("selected_features", learner = lrn("classif.rpart")) - # Note: All filter scores are either 0 or 1 + # Note: All filter scores are either 0 or 1, i.e. setting `filter.cutoff = 0.5` means that + # we select all "selected features". graph = po("filter", filter = filter, filter.cutoff = 0.5) \%>>\% po("learner", mlr3::lrn("classif.log_reg")) @@ -42,7 +43,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), qui } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -92,10 +93,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_variance.Rd b/man/mlr_filters_variance.Rd index 92e36131..f6c149c5 100644 --- a/man/mlr_filters_variance.Rd +++ b/man/mlr_filters_variance.Rd @@ -16,11 +16,11 @@ filter$calculate(task) head(filter$scores, 3) as.data.table(filter) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("variance"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -38,7 +38,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -80,10 +80,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} From 09045708e9c66eb552d93506d78ad4527b19d889 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 Aug 2022 11:38:55 +0000 Subject: [PATCH 10/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- R/FilterSelectedFeatures.R | 4 ++-- man/mlr_filters_anova.Rd | 10 +++++----- man/mlr_filters_auc.Rd | 10 +++++----- man/mlr_filters_carscore.Rd | 10 +++++----- man/mlr_filters_carsurvscore.Rd | 10 +++++----- man/mlr_filters_cmim.Rd | 10 +++++----- man/mlr_filters_correlation.Rd | 10 +++++----- man/mlr_filters_disr.Rd | 10 +++++----- man/mlr_filters_find_correlation.Rd | 10 +++++----- man/mlr_filters_importance.Rd | 10 +++++----- man/mlr_filters_information_gain.Rd | 10 +++++----- man/mlr_filters_jmi.Rd | 10 +++++----- man/mlr_filters_jmim.Rd | 10 +++++----- man/mlr_filters_kruskal_test.Rd | 10 +++++----- man/mlr_filters_mim.Rd | 10 +++++----- man/mlr_filters_mrmr.Rd | 10 +++++----- man/mlr_filters_njmim.Rd | 10 +++++----- man/mlr_filters_performance.Rd | 10 +++++----- man/mlr_filters_permutation.Rd | 10 +++++----- man/mlr_filters_relief.Rd | 10 +++++----- man/mlr_filters_selected_features.Rd | 14 +++++++------- man/mlr_filters_variance.Rd | 10 +++++----- 22 files changed, 109 insertions(+), 109 deletions(-) diff --git a/R/FilterSelectedFeatures.R b/R/FilterSelectedFeatures.R index a02c2aaf..63e4d112 100644 --- a/R/FilterSelectedFeatures.R +++ b/R/FilterSelectedFeatures.R @@ -18,7 +18,7 @@ #' @template seealso_filter #' @export #' @examples -#' if (requireNamespace("MASS")) { +#' if (requireNamespace("MASS")) { #' task = mlr3::tsk("iris") #' learner = mlr3::lrn("classif.rpart") #' filter = flt("selected_features", learner = learner) @@ -33,7 +33,7 @@ #' #' filter = flt("selected_features", learner = lrn("classif.rpart")) #' -#' graph = po("filter", filter = filter) %>>% +#' graph = po("filter", filter = filter) %>>% #' po("learner", mlr3::lrn("classif.log_reg")) #' #' graph$train(task) diff --git a/man/mlr_filters_anova.Rd b/man/mlr_filters_anova.Rd index 7d9fd059..0616a311 100644 --- a/man/mlr_filters_anova.Rd +++ b/man/mlr_filters_anova.Rd @@ -43,7 +43,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_auc.Rd b/man/mlr_filters_auc.Rd index c94c33cf..86c848f1 100644 --- a/man/mlr_filters_auc.Rd +++ b/man/mlr_filters_auc.Rd @@ -39,7 +39,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carscore.Rd b/man/mlr_filters_carscore.Rd index 61bf76ed..c5fa1b81 100644 --- a/man/mlr_filters_carscore.Rd +++ b/man/mlr_filters_carscore.Rd @@ -39,7 +39,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "care"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carsurvscore.Rd b/man/mlr_filters_carsurvscore.Rd index 113297fc..7dbc2e8f 100644 --- a/man/mlr_filters_carsurvscore.Rd +++ b/man/mlr_filters_carsurvscore.Rd @@ -17,7 +17,7 @@ Bommert A, Welchowski T, Schmid M, Rahnenführer J (2021). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -59,10 +59,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_cmim.Rd b/man/mlr_filters_cmim.Rd index b364987b..d3db3211 100644 --- a/man/mlr_filters_cmim.Rd +++ b/man/mlr_filters_cmim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_correlation.Rd b/man/mlr_filters_correlation.Rd index 75d1cdd7..815f7216 100644 --- a/man/mlr_filters_correlation.Rd +++ b/man/mlr_filters_correlation.Rd @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_disr.Rd b/man/mlr_filters_disr.Rd index 859aa4bb..ebf41d02 100644 --- a/man/mlr_filters_disr.Rd +++ b/man/mlr_filters_disr.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_find_correlation.Rd b/man/mlr_filters_find_correlation.Rd index 2bb68e85..a772132a 100644 --- a/man/mlr_filters_find_correlation.Rd +++ b/man/mlr_filters_find_correlation.Rd @@ -43,7 +43,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_importance.Rd b/man/mlr_filters_importance.Rd index d7406bb8..bd63b08f 100644 --- a/man/mlr_filters_importance.Rd +++ b/man/mlr_filters_importance.Rd @@ -36,7 +36,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), qui } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -86,10 +86,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_information_gain.Rd b/man/mlr_filters_information_gain.Rd index 4ead6c41..0ed7b180 100644 --- a/man/mlr_filters_information_gain.Rd +++ b/man/mlr_filters_information_gain.Rd @@ -47,7 +47,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -89,10 +89,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmi.Rd b/man/mlr_filters_jmi.Rd index 7e65d6cf..2962eeac 100644 --- a/man/mlr_filters_jmi.Rd +++ b/man/mlr_filters_jmi.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmim.Rd b/man/mlr_filters_jmim.Rd index 77da1db5..854d4120 100644 --- a/man/mlr_filters_jmim.Rd +++ b/man/mlr_filters_jmim.Rd @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_kruskal_test.Rd b/man/mlr_filters_kruskal_test.Rd index 31da1a49..5a56139d 100644 --- a/man/mlr_filters_kruskal_test.Rd +++ b/man/mlr_filters_kruskal_test.Rd @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mim.Rd b/man/mlr_filters_mim.Rd index 30267f4c..95b5edce 100644 --- a/man/mlr_filters_mim.Rd +++ b/man/mlr_filters_mim.Rd @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mrmr.Rd b/man/mlr_filters_mrmr.Rd index d97ba0a3..20504e4f 100644 --- a/man/mlr_filters_mrmr.Rd +++ b/man/mlr_filters_mrmr.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_njmim.Rd b/man/mlr_filters_njmim.Rd index afb32357..b3d6929c 100644 --- a/man/mlr_filters_njmim.Rd +++ b/man/mlr_filters_njmim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_performance.Rd b/man/mlr_filters_performance.Rd index 1f6228b5..0bfa262b 100644 --- a/man/mlr_filters_performance.Rd +++ b/man/mlr_filters_performance.Rd @@ -32,7 +32,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_permutation.Rd b/man/mlr_filters_permutation.Rd index 256caae2..567ca689 100644 --- a/man/mlr_filters_permutation.Rd +++ b/man/mlr_filters_permutation.Rd @@ -45,7 +45,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -98,10 +98,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_relief.Rd b/man/mlr_filters_relief.Rd index e929f0c9..0aec1b15 100644 --- a/man/mlr_filters_relief.Rd +++ b/man/mlr_filters_relief.Rd @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -74,10 +74,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_selected_features.Rd b/man/mlr_filters_selected_features.Rd index a30ec63a..d750efda 100644 --- a/man/mlr_filters_selected_features.Rd +++ b/man/mlr_filters_selected_features.Rd @@ -17,7 +17,7 @@ different from the order in the learner. In combination with \CRANpkg{mlr3pipelines}, only the filter criterion \code{cutoff} makes sense. } \examples{ -if (requireNamespace("MASS")) { +if (requireNamespace("MASS")) { task = mlr3::tsk("iris") learner = mlr3::lrn("classif.rpart") filter = flt("selected_features", learner = learner) @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = T filter = flt("selected_features", learner = lrn("classif.rpart")) - graph = po("filter", filter = filter) \%>>\% + graph = po("filter", filter = filter) \%>>\% po("learner", mlr3::lrn("classif.log_reg")) graph$train(task) @@ -40,7 +40,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = T } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -90,10 +90,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_variance.Rd b/man/mlr_filters_variance.Rd index b5bfee43..214ec2f4 100644 --- a/man/mlr_filters_variance.Rd +++ b/man/mlr_filters_variance.Rd @@ -38,7 +38,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -80,10 +80,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} From 45eb75dc1f9430bc8c3d992ff14acee1fde4a5fa Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Tue, 16 Aug 2022 13:43:26 +0200 Subject: [PATCH 11/17] docs: fix readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b125a187..2d235e2c 100644 --- a/README.md +++ b/README.md @@ -155,4 +155,4 @@ learner = as_learner(graph) rr = resample(task, learner, rsmp("holdout")) ``` - ## INFO [13:42:32.254] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) + ## INFO [13:43:20.500] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) From c4f5fc7d9f20d60fa4d5ad06e6702f00e509a643 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Tue, 16 Aug 2022 13:47:32 +0200 Subject: [PATCH 12/17] docs: fix readme --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2d235e2c..148abf53 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,6 @@ as.data.table(filter$calculate(task)) ``` ## feature score - ## ## 1: glucose 0.2927906 ## 2: insulin 0.2316288 ## 3: mass 0.1870358 @@ -73,6 +72,7 @@ as.data.table(filter$calculate(task)) | :----------------- | :------------------------------------------------------- | :------------- | :----------------------------------- | :------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- | | anova | ANOVA F-Test | Classif | | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | | auc | Area Under the ROC Curve Score | Classif | | Integer, Numeric | [c(“mlr3filters”, “mlr3measures”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22mlr3measures%22\)) | +| carscore | Correlation-Adjusted coRrelation Score | Regr | lambda , diagonal, verbose | Numeric | [c(“mlr3filters”, “care”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22care%22\)) | | carsurvscore | Correlation-Adjusted coRrelation Survival Score | Surv | maxIPCweight, denom | Integer, Numeric | [c(“mlr3filters”, “carSurv”, “mlr3proba”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22carSurv%22,%20%22mlr3proba%22\)) | | cmim | Minimal Conditional Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | | correlation | Correlation | Regr | use , method | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | @@ -123,7 +123,6 @@ head(as.data.table(filter), 3) ``` ## feature score - ## ## 1: Petal.Width 44.224198 ## 2: Petal.Length 43.303520 ## 3: Sepal.Length 9.618601 @@ -155,4 +154,4 @@ learner = as_learner(graph) rr = resample(task, learner, rsmp("holdout")) ``` - ## INFO [13:43:20.500] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) + ## INFO [13:47:15.660] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) From d3ab07481bec7b0d70e11f1ab658f6d87a6854d5 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Tue, 16 Aug 2022 14:09:12 +0200 Subject: [PATCH 13/17] docs: fix MASS dependency in examples --- DESCRIPTION | 1 + R/FilterAUC.R | 2 +- R/FilterAnova.R | 2 +- R/FilterCMIM.R | 2 +- R/FilterCarScore.R | 6 +++--- R/FilterCorrelation.R | 2 +- R/FilterDISR.R | 2 +- R/FilterFindCorrelation.R | 2 +- R/FilterInformationGain.R | 2 +- R/FilterJMI.R | 2 +- R/FilterJMIM.R | 2 +- R/FilterKruskalTest.R | 2 +- R/FilterMIM.R | 2 +- R/FilterMRMR.R | 2 +- R/FilterNJMIM.R | 2 +- R/FilterPerformance.R | 2 +- R/FilterPermutation.R | 2 +- R/FilterRelief.R | 2 +- R/FilterSelectedFeatures.R | 6 ++++-- R/FilterVariance.R | 2 +- man/mlr_filters_anova.Rd | 12 ++++++------ man/mlr_filters_auc.Rd | 12 ++++++------ man/mlr_filters_carscore.Rd | 16 ++++++++-------- man/mlr_filters_carsurvscore.Rd | 10 +++++----- man/mlr_filters_cmim.Rd | 12 ++++++------ man/mlr_filters_correlation.Rd | 12 ++++++------ man/mlr_filters_disr.Rd | 12 ++++++------ man/mlr_filters_find_correlation.Rd | 12 ++++++------ man/mlr_filters_importance.Rd | 10 +++++----- man/mlr_filters_information_gain.Rd | 12 ++++++------ man/mlr_filters_jmi.Rd | 12 ++++++------ man/mlr_filters_jmim.Rd | 12 ++++++------ man/mlr_filters_kruskal_test.Rd | 12 ++++++------ man/mlr_filters_mim.Rd | 12 ++++++------ man/mlr_filters_mrmr.Rd | 12 ++++++------ man/mlr_filters_njmim.Rd | 12 ++++++------ man/mlr_filters_performance.Rd | 12 ++++++------ man/mlr_filters_permutation.Rd | 12 ++++++------ man/mlr_filters_relief.Rd | 12 ++++++------ man/mlr_filters_selected_features.Rd | 16 +++++++++------- man/mlr_filters_variance.Rd | 12 ++++++------ 41 files changed, 154 insertions(+), 149 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 16bf3352..b8ca9f94 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -35,6 +35,7 @@ Suggests: FSelectorRcpp, knitr, lgr, + MASS, mlr3learners, mlr3measures, mlr3pipelines, diff --git a/R/FilterAUC.R b/R/FilterAUC.R index 54643daf..8aa9887f 100644 --- a/R/FilterAUC.R +++ b/R/FilterAUC.R @@ -23,7 +23,7 @@ #' filter$calculate(task) #' head(as.data.table(filter), 3) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterAnova.R b/R/FilterAnova.R index 7d94b9a1..91cbabd7 100644 --- a/R/FilterAnova.R +++ b/R/FilterAnova.R @@ -27,7 +27,7 @@ #' # transform to p-value #' 10^(-filter$scores) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterCMIM.R b/R/FilterCMIM.R index a200a30f..6066d207 100644 --- a/R/FilterCMIM.R +++ b/R/FilterCMIM.R @@ -26,7 +26,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterCarScore.R b/R/FilterCarScore.R index ea062927..34940732 100644 --- a/R/FilterCarScore.R +++ b/R/FilterCarScore.R @@ -24,14 +24,14 @@ #' filter$param_set$values = list("diagonal" = TRUE) #' filter$calculate(task) #' head(as.data.table(filter), 3) -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "care"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") -#' task = mlr3::tsk("spam") +#' task = mlr3::tsk("mtcars") #' #' # Note: The filter.frac is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("carscore"), filter.frac = 0.5) %>>% -#' po("learner", mlr3::lrn("classif.rpart")) +#' po("learner", mlr3::lrn("regr.rpart")) #' #' graph$train(task) #' diff --git a/R/FilterCorrelation.R b/R/FilterCorrelation.R index 756cf983..33941d38 100644 --- a/R/FilterCorrelation.R +++ b/R/FilterCorrelation.R @@ -26,7 +26,7 @@ #' filter$param_set$values = list("method" = "spearman") #' filter$calculate(task) #' as.data.table(filter) -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("boston_housing") #' diff --git a/R/FilterDISR.R b/R/FilterDISR.R index e99bf223..64ff3912 100644 --- a/R/FilterDISR.R +++ b/R/FilterDISR.R @@ -26,7 +26,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterFindCorrelation.R b/R/FilterFindCorrelation.R index d0e96ddd..017b2cf6 100644 --- a/R/FilterFindCorrelation.R +++ b/R/FilterFindCorrelation.R @@ -30,7 +30,7 @@ #' filter$calculate(task) #' as.data.table(filter) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterInformationGain.R b/R/FilterInformationGain.R index 9fc59ec6..c0260e1a 100644 --- a/R/FilterInformationGain.R +++ b/R/FilterInformationGain.R @@ -33,7 +33,7 @@ #' #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterJMI.R b/R/FilterJMI.R index 0a1d31e0..9070f94f 100644 --- a/R/FilterJMI.R +++ b/R/FilterJMI.R @@ -27,7 +27,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterJMIM.R b/R/FilterJMIM.R index 669c8ad2..adf12d20 100644 --- a/R/FilterJMIM.R +++ b/R/FilterJMIM.R @@ -27,7 +27,7 @@ #' } #' #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterKruskalTest.R b/R/FilterKruskalTest.R index 85f2a0e3..c855c5b5 100644 --- a/R/FilterKruskalTest.R +++ b/R/FilterKruskalTest.R @@ -26,7 +26,7 @@ #' # transform to p-value #' 10^(-filter$scores) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterMIM.R b/R/FilterMIM.R index bd006204..bc5976b0 100644 --- a/R/FilterMIM.R +++ b/R/FilterMIM.R @@ -27,7 +27,7 @@ #' } #' #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterMRMR.R b/R/FilterMRMR.R index 60e1e415..834e843f 100644 --- a/R/FilterMRMR.R +++ b/R/FilterMRMR.R @@ -26,7 +26,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterNJMIM.R b/R/FilterNJMIM.R index ed35a053..474a5a39 100644 --- a/R/FilterNJMIM.R +++ b/R/FilterNJMIM.R @@ -26,7 +26,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c(c("mlr3pipelines", "praznik")), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/R/FilterPerformance.R b/R/FilterPerformance.R index 90118817..063a2bf8 100644 --- a/R/FilterPerformance.R +++ b/R/FilterPerformance.R @@ -17,7 +17,7 @@ #' filter = flt("performance", learner = learner) #' filter$calculate(task) #' as.data.table(filter) -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' l = lrn("classif.rpart") diff --git a/R/FilterPermutation.R b/R/FilterPermutation.R index f696e8e3..bac18feb 100644 --- a/R/FilterPermutation.R +++ b/R/FilterPermutation.R @@ -30,7 +30,7 @@ #' filter$calculate(task) #' as.data.table(filter) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("iris") #' diff --git a/R/FilterRelief.R b/R/FilterRelief.R index d5fb046e..c17715bb 100644 --- a/R/FilterRelief.R +++ b/R/FilterRelief.R @@ -18,7 +18,7 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("iris") #' diff --git a/R/FilterSelectedFeatures.R b/R/FilterSelectedFeatures.R index 63e4d112..3d28e876 100644 --- a/R/FilterSelectedFeatures.R +++ b/R/FilterSelectedFeatures.R @@ -26,14 +26,16 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' library("mlr3learners") #' task = mlr3::tsk("spam") #' #' filter = flt("selected_features", learner = lrn("classif.rpart")) #' -#' graph = po("filter", filter = filter) %>>% +#' # Note: All filter scores are either 0 or 1 +#' +#' graph = po("filter", filter = filter, filter.cutoff = 0.5) %>>% #' po("learner", mlr3::lrn("classif.log_reg")) #' #' graph$train(task) diff --git a/R/FilterVariance.R b/R/FilterVariance.R index 2b09eb78..bcc1b351 100644 --- a/R/FilterVariance.R +++ b/R/FilterVariance.R @@ -22,7 +22,7 @@ #' head(filter$scores, 3) #' as.data.table(filter) #' -#' if (requireNamespace("mlr3pipelines")) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/man/mlr_filters_anova.Rd b/man/mlr_filters_anova.Rd index 0616a311..1b51c5ac 100644 --- a/man/mlr_filters_anova.Rd +++ b/man/mlr_filters_anova.Rd @@ -21,7 +21,7 @@ head(as.data.table(filter), 3) # transform to p-value 10^(-filter$scores) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -43,7 +43,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_auc.Rd b/man/mlr_filters_auc.Rd index 86c848f1..6fb28055 100644 --- a/man/mlr_filters_auc.Rd +++ b/man/mlr_filters_auc.Rd @@ -17,7 +17,7 @@ filter = flt("auc") filter$calculate(task) head(as.data.table(filter), 3) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -39,7 +39,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carscore.Rd b/man/mlr_filters_carscore.Rd index c5fa1b81..aba29faa 100644 --- a/man/mlr_filters_carscore.Rd +++ b/man/mlr_filters_carscore.Rd @@ -24,14 +24,14 @@ filter = flt("carscore") filter$param_set$values = list("diagonal" = TRUE) filter$calculate(task) head(as.data.table(filter), 3) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "care"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = TRUE)) { library("mlr3pipelines") - task = mlr3::tsk("spam") + task = mlr3::tsk("mtcars") # Note: The filter.frac is selected randomly and should be tuned. graph = po("filter", filter = flt("carscore"), filter.frac = 0.5) \%>>\% - po("learner", mlr3::lrn("classif.rpart")) + po("learner", mlr3::lrn("regr.rpart")) graph$train(task) @@ -39,7 +39,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "care"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carsurvscore.Rd b/man/mlr_filters_carsurvscore.Rd index 7dbc2e8f..113297fc 100644 --- a/man/mlr_filters_carsurvscore.Rd +++ b/man/mlr_filters_carsurvscore.Rd @@ -17,7 +17,7 @@ Bommert A, Welchowski T, Schmid M, Rahnenführer J (2021). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -59,10 +59,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_cmim.Rd b/man/mlr_filters_cmim.Rd index d3db3211..c34fe96d 100644 --- a/man/mlr_filters_cmim.Rd +++ b/man/mlr_filters_cmim.Rd @@ -27,7 +27,7 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_correlation.Rd b/man/mlr_filters_correlation.Rd index 815f7216..735c3907 100644 --- a/man/mlr_filters_correlation.Rd +++ b/man/mlr_filters_correlation.Rd @@ -20,7 +20,7 @@ filter = FilterCorrelation$new() filter$param_set$values = list("method" = "spearman") filter$calculate(task) as.data.table(filter) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("boston_housing") @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_disr.Rd b/man/mlr_filters_disr.Rd index ebf41d02..a188e52c 100644 --- a/man/mlr_filters_disr.Rd +++ b/man/mlr_filters_disr.Rd @@ -27,7 +27,7 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_find_correlation.Rd b/man/mlr_filters_find_correlation.Rd index a772132a..cad6cfcd 100644 --- a/man/mlr_filters_find_correlation.Rd +++ b/man/mlr_filters_find_correlation.Rd @@ -29,7 +29,7 @@ filter = flt("find_correlation", method = "spearman") filter$calculate(task) as.data.table(filter) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -43,7 +43,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_importance.Rd b/man/mlr_filters_importance.Rd index bd63b08f..d7406bb8 100644 --- a/man/mlr_filters_importance.Rd +++ b/man/mlr_filters_importance.Rd @@ -36,7 +36,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), qui } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -86,10 +86,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_information_gain.Rd b/man/mlr_filters_information_gain.Rd index 0ed7b180..5d3d5158 100644 --- a/man/mlr_filters_information_gain.Rd +++ b/man/mlr_filters_information_gain.Rd @@ -32,7 +32,7 @@ if (requireNamespace("FSelectorRcpp")) { } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -47,7 +47,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -89,10 +89,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmi.Rd b/man/mlr_filters_jmi.Rd index 2962eeac..db5ceff8 100644 --- a/man/mlr_filters_jmi.Rd +++ b/man/mlr_filters_jmi.Rd @@ -27,7 +27,7 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmim.Rd b/man/mlr_filters_jmim.Rd index 854d4120..9e6203eb 100644 --- a/man/mlr_filters_jmim.Rd +++ b/man/mlr_filters_jmim.Rd @@ -28,7 +28,7 @@ if (requireNamespace("praznik")) { } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_kruskal_test.Rd b/man/mlr_filters_kruskal_test.Rd index 5a56139d..d6eb8fe2 100644 --- a/man/mlr_filters_kruskal_test.Rd +++ b/man/mlr_filters_kruskal_test.Rd @@ -20,7 +20,7 @@ as.data.table(filter) # transform to p-value 10^(-filter$scores) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mim.Rd b/man/mlr_filters_mim.Rd index 95b5edce..fea6d837 100644 --- a/man/mlr_filters_mim.Rd +++ b/man/mlr_filters_mim.Rd @@ -28,7 +28,7 @@ if (requireNamespace("praznik")) { } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mrmr.Rd b/man/mlr_filters_mrmr.Rd index 20504e4f..58e4d751 100644 --- a/man/mlr_filters_mrmr.Rd +++ b/man/mlr_filters_mrmr.Rd @@ -27,7 +27,7 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_njmim.Rd b/man/mlr_filters_njmim.Rd index b3d6929c..c311218d 100644 --- a/man/mlr_filters_njmim.Rd +++ b/man/mlr_filters_njmim.Rd @@ -27,7 +27,7 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c(c("mlr3pipelines", "praznik")), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_performance.Rd b/man/mlr_filters_performance.Rd index 0bfa262b..e0a217bd 100644 --- a/man/mlr_filters_performance.Rd +++ b/man/mlr_filters_performance.Rd @@ -17,7 +17,7 @@ learner = mlr3::lrn("classif.rpart") filter = flt("performance", learner = learner) filter$calculate(task) as.data.table(filter) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") l = lrn("classif.rpart") @@ -32,7 +32,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_permutation.Rd b/man/mlr_filters_permutation.Rd index 567ca689..62e7a578 100644 --- a/man/mlr_filters_permutation.Rd +++ b/man/mlr_filters_permutation.Rd @@ -31,7 +31,7 @@ task = mlr3::tsk("iris") filter$calculate(task) as.data.table(filter) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("iris") @@ -45,7 +45,7 @@ if (requireNamespace("mlr3pipelines")) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -98,10 +98,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_relief.Rd b/man/mlr_filters_relief.Rd index 0aec1b15..bc8607d5 100644 --- a/man/mlr_filters_relief.Rd +++ b/man/mlr_filters_relief.Rd @@ -18,7 +18,7 @@ if (requireNamespace("FSelectorRcpp")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("iris") @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp"), quietly = } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -74,10 +74,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_selected_features.Rd b/man/mlr_filters_selected_features.Rd index d750efda..3e600df1 100644 --- a/man/mlr_filters_selected_features.Rd +++ b/man/mlr_filters_selected_features.Rd @@ -25,14 +25,16 @@ if (requireNamespace("MASS")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { library("mlr3pipelines") library("mlr3learners") task = mlr3::tsk("spam") filter = flt("selected_features", learner = lrn("classif.rpart")) - graph = po("filter", filter = filter) \%>>\% + # Note: All filter scores are either 0 or 1 + + graph = po("filter", filter = filter, filter.cutoff = 0.5) \%>>\% po("learner", mlr3::lrn("classif.log_reg")) graph$train(task) @@ -40,7 +42,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = T } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -90,10 +92,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_variance.Rd b/man/mlr_filters_variance.Rd index 214ec2f4..f2adc8d7 100644 --- a/man/mlr_filters_variance.Rd +++ b/man/mlr_filters_variance.Rd @@ -16,7 +16,7 @@ filter$calculate(task) head(filter$scores, 3) as.data.table(filter) -if (requireNamespace("mlr3pipelines")) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") @@ -38,7 +38,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -80,10 +80,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} From f67de910e54dfcae5e7515017bd070813e8ac950 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 Aug 2022 12:10:14 +0000 Subject: [PATCH 14/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- man/mlr_filters_anova.Rd | 10 +++++----- man/mlr_filters_auc.Rd | 10 +++++----- man/mlr_filters_carscore.Rd | 10 +++++----- man/mlr_filters_carsurvscore.Rd | 10 +++++----- man/mlr_filters_cmim.Rd | 10 +++++----- man/mlr_filters_correlation.Rd | 10 +++++----- man/mlr_filters_disr.Rd | 10 +++++----- man/mlr_filters_find_correlation.Rd | 10 +++++----- man/mlr_filters_importance.Rd | 10 +++++----- man/mlr_filters_information_gain.Rd | 10 +++++----- man/mlr_filters_jmi.Rd | 10 +++++----- man/mlr_filters_jmim.Rd | 10 +++++----- man/mlr_filters_kruskal_test.Rd | 10 +++++----- man/mlr_filters_mim.Rd | 10 +++++----- man/mlr_filters_mrmr.Rd | 10 +++++----- man/mlr_filters_njmim.Rd | 10 +++++----- man/mlr_filters_performance.Rd | 10 +++++----- man/mlr_filters_permutation.Rd | 10 +++++----- man/mlr_filters_relief.Rd | 10 +++++----- man/mlr_filters_selected_features.Rd | 10 +++++----- man/mlr_filters_variance.Rd | 10 +++++----- 21 files changed, 105 insertions(+), 105 deletions(-) diff --git a/man/mlr_filters_anova.Rd b/man/mlr_filters_anova.Rd index 1b51c5ac..705d6316 100644 --- a/man/mlr_filters_anova.Rd +++ b/man/mlr_filters_anova.Rd @@ -43,7 +43,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_auc.Rd b/man/mlr_filters_auc.Rd index 6fb28055..08b5bb15 100644 --- a/man/mlr_filters_auc.Rd +++ b/man/mlr_filters_auc.Rd @@ -39,7 +39,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carscore.Rd b/man/mlr_filters_carscore.Rd index aba29faa..42081245 100644 --- a/man/mlr_filters_carscore.Rd +++ b/man/mlr_filters_carscore.Rd @@ -39,7 +39,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = T } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carsurvscore.Rd b/man/mlr_filters_carsurvscore.Rd index 113297fc..7dbc2e8f 100644 --- a/man/mlr_filters_carsurvscore.Rd +++ b/man/mlr_filters_carsurvscore.Rd @@ -17,7 +17,7 @@ Bommert A, Welchowski T, Schmid M, Rahnenführer J (2021). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -59,10 +59,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_cmim.Rd b/man/mlr_filters_cmim.Rd index c34fe96d..01f2f9aa 100644 --- a/man/mlr_filters_cmim.Rd +++ b/man/mlr_filters_cmim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_correlation.Rd b/man/mlr_filters_correlation.Rd index 735c3907..8d8104bf 100644 --- a/man/mlr_filters_correlation.Rd +++ b/man/mlr_filters_correlation.Rd @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_disr.Rd b/man/mlr_filters_disr.Rd index a188e52c..ac861b88 100644 --- a/man/mlr_filters_disr.Rd +++ b/man/mlr_filters_disr.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_find_correlation.Rd b/man/mlr_filters_find_correlation.Rd index cad6cfcd..9fdd52a7 100644 --- a/man/mlr_filters_find_correlation.Rd +++ b/man/mlr_filters_find_correlation.Rd @@ -43,7 +43,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_importance.Rd b/man/mlr_filters_importance.Rd index d7406bb8..bd63b08f 100644 --- a/man/mlr_filters_importance.Rd +++ b/man/mlr_filters_importance.Rd @@ -36,7 +36,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), qui } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -86,10 +86,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_information_gain.Rd b/man/mlr_filters_information_gain.Rd index 5d3d5158..23bb4b0f 100644 --- a/man/mlr_filters_information_gain.Rd +++ b/man/mlr_filters_information_gain.Rd @@ -47,7 +47,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), qu } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -89,10 +89,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmi.Rd b/man/mlr_filters_jmi.Rd index db5ceff8..2698b3f0 100644 --- a/man/mlr_filters_jmi.Rd +++ b/man/mlr_filters_jmi.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmim.Rd b/man/mlr_filters_jmim.Rd index 9e6203eb..488d10eb 100644 --- a/man/mlr_filters_jmim.Rd +++ b/man/mlr_filters_jmim.Rd @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_kruskal_test.Rd b/man/mlr_filters_kruskal_test.Rd index d6eb8fe2..01c8c273 100644 --- a/man/mlr_filters_kruskal_test.Rd +++ b/man/mlr_filters_kruskal_test.Rd @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mim.Rd b/man/mlr_filters_mim.Rd index fea6d837..56207fa9 100644 --- a/man/mlr_filters_mim.Rd +++ b/man/mlr_filters_mim.Rd @@ -55,7 +55,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +97,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mrmr.Rd b/man/mlr_filters_mrmr.Rd index 58e4d751..c78ea13d 100644 --- a/man/mlr_filters_mrmr.Rd +++ b/man/mlr_filters_mrmr.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_njmim.Rd b/man/mlr_filters_njmim.Rd index c311218d..36c01bf7 100644 --- a/man/mlr_filters_njmim.Rd +++ b/man/mlr_filters_njmim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_performance.Rd b/man/mlr_filters_performance.Rd index e0a217bd..68a89c4c 100644 --- a/man/mlr_filters_performance.Rd +++ b/man/mlr_filters_performance.Rd @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_permutation.Rd b/man/mlr_filters_permutation.Rd index 62e7a578..e4f7d52a 100644 --- a/man/mlr_filters_permutation.Rd +++ b/man/mlr_filters_permutation.Rd @@ -45,7 +45,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -98,10 +98,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_relief.Rd b/man/mlr_filters_relief.Rd index bc8607d5..dc48193e 100644 --- a/man/mlr_filters_relief.Rd +++ b/man/mlr_filters_relief.Rd @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), qu } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -74,10 +74,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_selected_features.Rd b/man/mlr_filters_selected_features.Rd index 3e600df1..51f3a5c3 100644 --- a/man/mlr_filters_selected_features.Rd +++ b/man/mlr_filters_selected_features.Rd @@ -42,7 +42,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), qui } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -92,10 +92,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_variance.Rd b/man/mlr_filters_variance.Rd index f2adc8d7..92e36131 100644 --- a/man/mlr_filters_variance.Rd +++ b/man/mlr_filters_variance.Rd @@ -38,7 +38,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -80,10 +80,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} From 863f450f4a2d982e83f756b545044c9c8f1b43d1 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Thu, 25 Aug 2022 10:11:14 +0200 Subject: [PATCH 15/17] cleanup --- DESCRIPTION | 1 - R/FilterAUC.R | 14 ++++--- R/FilterAnova.R | 4 +- R/FilterCMIM.R | 4 +- R/FilterCarScore.R | 14 ++++--- R/FilterCorrelation.R | 4 +- R/FilterDISR.R | 4 +- R/FilterFindCorrelation.R | 4 +- R/FilterImportance.R | 8 ++-- R/FilterInformationGain.R | 4 +- R/FilterJMI.R | 4 +- R/FilterJMIM.R | 5 +-- R/FilterKruskalTest.R | 4 +- R/FilterMIM.R | 5 +-- R/FilterMRMR.R | 4 +- R/FilterNJMIM.R | 4 +- R/FilterPerformance.R | 16 ++++---- R/FilterPermutation.R | 21 ++++++----- R/FilterRelief.R | 4 +- R/FilterSelectedFeatures.R | 7 ++-- R/FilterVariance.R | 4 +- README.Rmd | 4 +- README.md | 56 ++++++++++++++-------------- man/mlr_filters_anova.Rd | 14 +++---- man/mlr_filters_auc.Rd | 14 +++---- man/mlr_filters_carscore.Rd | 24 ++++++------ man/mlr_filters_carsurvscore.Rd | 10 ++--- man/mlr_filters_cmim.Rd | 14 +++---- man/mlr_filters_correlation.Rd | 14 +++---- man/mlr_filters_disr.Rd | 14 +++---- man/mlr_filters_find_correlation.Rd | 14 +++---- man/mlr_filters_importance.Rd | 18 ++++----- man/mlr_filters_information_gain.Rd | 14 +++---- man/mlr_filters_jmi.Rd | 14 +++---- man/mlr_filters_jmim.Rd | 15 ++++---- man/mlr_filters_kruskal_test.Rd | 14 +++---- man/mlr_filters_mim.Rd | 15 ++++---- man/mlr_filters_mrmr.Rd | 14 +++---- man/mlr_filters_njmim.Rd | 14 +++---- man/mlr_filters_performance.Rd | 26 +++++++------ man/mlr_filters_permutation.Rd | 31 ++++++++------- man/mlr_filters_relief.Rd | 14 +++---- man/mlr_filters_selected_features.Rd | 17 +++++---- man/mlr_filters_variance.Rd | 14 +++---- 44 files changed, 274 insertions(+), 263 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index b8ca9f94..16bf3352 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -35,7 +35,6 @@ Suggests: FSelectorRcpp, knitr, lgr, - MASS, mlr3learners, mlr3measures, mlr3pipelines, diff --git a/R/FilterAUC.R b/R/FilterAUC.R index 8aa9887f..533259d1 100644 --- a/R/FilterAUC.R +++ b/R/FilterAUC.R @@ -18,16 +18,18 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("pima") -#' filter = flt("auc") -#' filter$calculate(task) -#' head(as.data.table(filter), 3) +#' if (requireNamespace("mlr3measures")) { +#' task = mlr3::tsk("pima") +#' filter = flt("auc") +#' filter$calculate(task) +#' head(as.data.table(filter), 3) +#' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "mlr3measures"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("auc"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterAnova.R b/R/FilterAnova.R index 91cbabd7..a75ad53d 100644 --- a/R/FilterAnova.R +++ b/R/FilterAnova.R @@ -27,11 +27,11 @@ #' # transform to p-value #' 10^(-filter$scores) #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("anova"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterCMIM.R b/R/FilterCMIM.R index 6066d207..26c426e9 100644 --- a/R/FilterCMIM.R +++ b/R/FilterCMIM.R @@ -26,11 +26,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("cmim"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterCarScore.R b/R/FilterCarScore.R index 34940732..9f71a31b 100644 --- a/R/FilterCarScore.R +++ b/R/FilterCarScore.R @@ -14,21 +14,23 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("mtcars") -#' filter = flt("carscore") -#' filter$calculate(task) -#' head(as.data.table(filter), 3) +#' if (requireNamespace("care")) { +#' task = mlr3::tsk("mtcars") +#' filter = flt("carscore") +#' filter$calculate(task) +#' head(as.data.table(filter), 3) +#' } #' #' ## changing filter settings #' filter = flt("carscore") #' filter$param_set$values = list("diagonal" = TRUE) #' filter$calculate(task) #' head(as.data.table(filter), 3) -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("mtcars") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("carscore"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("regr.rpart")) diff --git a/R/FilterCorrelation.R b/R/FilterCorrelation.R index 33941d38..e7ea9ed9 100644 --- a/R/FilterCorrelation.R +++ b/R/FilterCorrelation.R @@ -26,11 +26,11 @@ #' filter$param_set$values = list("method" = "spearman") #' filter$calculate(task) #' as.data.table(filter) -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("boston_housing") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("correlation"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("regr.rpart")) diff --git a/R/FilterDISR.R b/R/FilterDISR.R index 64ff3912..99640c93 100644 --- a/R/FilterDISR.R +++ b/R/FilterDISR.R @@ -26,11 +26,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("disr"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterFindCorrelation.R b/R/FilterFindCorrelation.R index 017b2cf6..eb2ff9e2 100644 --- a/R/FilterFindCorrelation.R +++ b/R/FilterFindCorrelation.R @@ -30,11 +30,11 @@ #' filter$calculate(task) #' as.data.table(filter) #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("find_correlation"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterImportance.R b/R/FilterImportance.R index 9b26fc0b..acfaa8c7 100644 --- a/R/FilterImportance.R +++ b/R/FilterImportance.R @@ -11,7 +11,7 @@ #' @template seealso_filter #' @export #' @examples -#' if (requireNamespace("MASS")) { +#' if (requireNamespace("rpart")) { #' task = mlr3::tsk("iris") #' learner = mlr3::lrn("classif.rpart") #' filter = flt("importance", learner = learner) @@ -19,17 +19,17 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "mlr3learners"), quietly = TRUE)) { #' library("mlr3learners") #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' #' learner = mlr3::lrn("classif.rpart") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("importance", learner = learner), filter.frac = 0.5) %>>% -#' po("learner", mlr3::lrn("classif.lda")) +#' po("learner", mlr3::lrn("classif.log_reg")) #' #' graph$train(task) #' } diff --git a/R/FilterInformationGain.R b/R/FilterInformationGain.R index c0260e1a..640b274d 100644 --- a/R/FilterInformationGain.R +++ b/R/FilterInformationGain.R @@ -33,11 +33,11 @@ #' #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("information_gain"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterJMI.R b/R/FilterJMI.R index 9070f94f..37a86647 100644 --- a/R/FilterJMI.R +++ b/R/FilterJMI.R @@ -27,11 +27,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("jmi"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterJMIM.R b/R/FilterJMIM.R index adf12d20..05fab154 100644 --- a/R/FilterJMIM.R +++ b/R/FilterJMIM.R @@ -26,12 +26,11 @@ #' as.data.table(filter) #' } #' -#' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("jmim"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterKruskalTest.R b/R/FilterKruskalTest.R index c855c5b5..a190a55a 100644 --- a/R/FilterKruskalTest.R +++ b/R/FilterKruskalTest.R @@ -26,11 +26,11 @@ #' # transform to p-value #' 10^(-filter$scores) #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("kruskal_test"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterMIM.R b/R/FilterMIM.R index bc5976b0..f959e0a4 100644 --- a/R/FilterMIM.R +++ b/R/FilterMIM.R @@ -26,12 +26,11 @@ #' as.data.table(filter) #' } #' -#' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("mim"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterMRMR.R b/R/FilterMRMR.R index 834e843f..f1fe70ba 100644 --- a/R/FilterMRMR.R +++ b/R/FilterMRMR.R @@ -26,11 +26,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("mrmr"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterNJMIM.R b/R/FilterNJMIM.R index 474a5a39..eceeb3ab 100644 --- a/R/FilterNJMIM.R +++ b/R/FilterNJMIM.R @@ -26,11 +26,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("njmim"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterPerformance.R b/R/FilterPerformance.R index 063a2bf8..84d476ea 100644 --- a/R/FilterPerformance.R +++ b/R/FilterPerformance.R @@ -12,17 +12,19 @@ #' @template seealso_filter #' @export #' @examples -#' task = mlr3::tsk("iris") -#' learner = mlr3::lrn("classif.rpart") -#' filter = flt("performance", learner = learner) -#' filter$calculate(task) -#' as.data.table(filter) -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (requireNamespace("rpart")) { +#' task = mlr3::tsk("iris") +#' learner = mlr3::lrn("classif.rpart") +#' filter = flt("performance", learner = learner) +#' filter$calculate(task) +#' as.data.table(filter) +#' } +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' l = lrn("classif.rpart") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("performance", learner = l), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterPermutation.R b/R/FilterPermutation.R index bac18feb..3752f8a6 100644 --- a/R/FilterPermutation.R +++ b/R/FilterPermutation.R @@ -22,19 +22,22 @@ #' @template seealso_filter #' @export #' @examples -#' learner = mlr3::lrn("classif.rpart") -#' resampling = mlr3::rsmp("holdout") -#' measure = mlr3::msr("classif.acc") -#' filter = flt("permutation", learner = learner, measure = measure, resampling = resampling, nmc = 2) -#' task = mlr3::tsk("iris") -#' filter$calculate(task) -#' as.data.table(filter) +#' if (requireNamespace("rpart")) { +#' learner = mlr3::lrn("classif.rpart") +#' resampling = mlr3::rsmp("holdout") +#' measure = mlr3::msr("classif.acc") +#' filter = flt("permutation", learner = learner, measure = measure, resampling = resampling, +#' nmc = 2) +#' task = mlr3::tsk("iris") +#' filter$calculate(task) +#' as.data.table(filter) +#' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("iris") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("permutation", nmc = 2), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterRelief.R b/R/FilterRelief.R index c17715bb..7681e2ac 100644 --- a/R/FilterRelief.R +++ b/R/FilterRelief.R @@ -18,11 +18,11 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("iris") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("relief"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/R/FilterSelectedFeatures.R b/R/FilterSelectedFeatures.R index 3d28e876..c9a6b81b 100644 --- a/R/FilterSelectedFeatures.R +++ b/R/FilterSelectedFeatures.R @@ -18,7 +18,7 @@ #' @template seealso_filter #' @export #' @examples -#' if (requireNamespace("MASS")) { +#' if (requireNamespace("rpart")) { #' task = mlr3::tsk("iris") #' learner = mlr3::lrn("classif.rpart") #' filter = flt("selected_features", learner = learner) @@ -26,14 +26,15 @@ #' as.data.table(filter) #' } #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' library("mlr3learners") #' task = mlr3::tsk("spam") #' #' filter = flt("selected_features", learner = lrn("classif.rpart")) #' -#' # Note: All filter scores are either 0 or 1 +#' # Note: All filter scores are either 0 or 1, i.e. setting `filter.cutoff = 0.5` means that +#' # we select all "selected features". #' #' graph = po("filter", filter = filter, filter.cutoff = 0.5) %>>% #' po("learner", mlr3::lrn("classif.log_reg")) diff --git a/R/FilterVariance.R b/R/FilterVariance.R index bcc1b351..64f23d65 100644 --- a/R/FilterVariance.R +++ b/R/FilterVariance.R @@ -22,11 +22,11 @@ #' head(filter$scores, 3) #' as.data.table(filter) #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' -#' # Note: The filter.frac is selected randomly and should be tuned. +#' # Note: `filter.frac` is selected randomly and should be tuned. #' #' graph = po("filter", filter = flt("variance"), filter.frac = 0.5) %>>% #' po("learner", mlr3::lrn("classif.rpart")) diff --git a/README.Rmd b/README.Rmd index 7a00b2e3..6732a061 100644 --- a/README.Rmd +++ b/README.Rmd @@ -64,7 +64,7 @@ link_cran = function(x) { ifelse(x %in% getOption("defaultPackages"), x, sprintf("[%1$s](https://cran.r-project.org/package=%1$s)", x)) } -tab = as.data.table(mlr_filters)[, !c("param_set", "task_properties")] +tab = as.data.table(mlr_filters)[, !c("params", "task_properties")] tab[, task_type := sapply(task_type, function(x) paste(capitalize(x), collapse = " & "))] tab[, feature_types := sapply(feature_types, function(x) paste(capitalize(x), collapse = ", "))] tab[, packages := link_cran(packages)] @@ -125,7 +125,7 @@ To select features based on filter values, one can use [`PipeOpFilter`](https:// library(mlr3pipelines) task = tsk("spam") -# the filter.frac should be tuned +# the `filter.frac` should be tuned graph = po("filter", filter = flt("auc"), filter.frac = 0.5) %>>% po("learner", lrn("classif.rpart")) diff --git a/README.md b/README.md index 148abf53..c30b8d1f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # mlr3filters -Package website: [release](https://mlr3filters.mlr-org.com/) | +Package website: [release](https://mlr3filters.mlr-org.com/) \| [dev](https://mlr3filters.mlr-org.com/dev/) {mlr3filters} adds feature selection filters to @@ -54,6 +54,7 @@ as.data.table(filter$calculate(task)) ``` ## feature score + ## ## 1: glucose 0.2927906 ## 2: insulin 0.2316288 ## 3: mass 0.1870358 @@ -65,32 +66,28 @@ as.data.table(filter$calculate(task)) ### Implemented Filters - ## Warning in `[.data.table`(as.data.table(mlr_filters), , !c("param_set", : - ## column(s) not removed because not found: [param_set] - -| Name | label | Task Type | params | Feature Types | Package | -| :----------------- | :------------------------------------------------------- | :------------- | :----------------------------------- | :------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- | -| anova | ANOVA F-Test | Classif | | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | -| auc | Area Under the ROC Curve Score | Classif | | Integer, Numeric | [c(“mlr3filters”, “mlr3measures”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22mlr3measures%22\)) | -| carscore | Correlation-Adjusted coRrelation Score | Regr | lambda , diagonal, verbose | Numeric | [c(“mlr3filters”, “care”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22care%22\)) | -| carsurvscore | Correlation-Adjusted coRrelation Survival Score | Surv | maxIPCweight, denom | Integer, Numeric | [c(“mlr3filters”, “carSurv”, “mlr3proba”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22carSurv%22,%20%22mlr3proba%22\)) | -| cmim | Minimal Conditional Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| correlation | Correlation | Regr | use , method | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | -| disr | Double Input Symmetrical Relevance | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| find\_correlation | Correlation-based Score | Classif & Regr | use , method | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | -| importance | Importance Score | Universal | method | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | -| information\_gain | Information Gain | Classif & Regr | type , equal , discIntegers, threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22FSelectorRcpp%22\)) | -| jmi | Joint Mutual Information | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| jmim | Minimal Joint Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| kruskal\_test | Kruskal-Wallis Test | Classif | na.action | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | -| mim | Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| mrmr | Minimum Redundancy Maximal Relevancy | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| njmim | Minimal Normalised Joint Mutual Information Maximization | Classif & Regr | threads | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22praznik%22\)) | -| performance | Predictive Performance | Universal | method | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | -| permutation | Permutation Score | Universal | standardize, nmc | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | -| relief | RELIEF | Classif & Regr | neighboursCount, sampleSize | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22FSelectorRcpp%22\)) | -| selected\_features | Embedded Feature Selection | Classif | method | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | -| variance | Variance | NA | na.rm | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c\(%22mlr3filters%22,%20%22stats%22\)) | +| Name | label | Task Type | Feature Types | Package | +|:------------------|:---------------------------------------------------------|:---------------|:---------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------| +| anova | ANOVA F-Test | Classif | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22stats%22)) | +| auc | Area Under the ROC Curve Score | Classif | Integer, Numeric | [c(“mlr3filters”, “mlr3measures”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22mlr3measures%22)) | +| carsurvscore | Correlation-Adjusted coRrelation Survival Score | Surv | Integer, Numeric | [c(“mlr3filters”, “carSurv”, “mlr3proba”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22carSurv%22,%20%22mlr3proba%22)) | +| cmim | Minimal Conditional Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| correlation | Correlation | Regr | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22stats%22)) | +| disr | Double Input Symmetrical Relevance | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| find_correlation | Correlation-based Score | Classif & Regr | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22stats%22)) | +| importance | Importance Score | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| information_gain | Information Gain | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22FSelectorRcpp%22)) | +| jmi | Joint Mutual Information | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| jmim | Minimal Joint Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| kruskal_test | Kruskal-Wallis Test | Classif | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22stats%22)) | +| mim | Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| mrmr | Minimum Redundancy Maximal Relevancy | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| njmim | Minimal Normalised Joint Mutual Information Maximization | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “praznik”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22praznik%22)) | +| performance | Predictive Performance | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| permutation | Permutation Score | Universal | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| relief | RELIEF | Classif & Regr | Integer, Numeric, Factor, Ordered | [c(“mlr3filters”, “FSelectorRcpp”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22FSelectorRcpp%22)) | +| selected_features | Embedded Feature Selection | Classif | Logical, Integer, Numeric, Character, Factor, Ordered, POSIXct | | +| variance | Variance | NA | Integer, Numeric | [c(“mlr3filters”, “stats”)](https://cran.r-project.org/package=c(%22mlr3filters%22,%20%22stats%22)) | ### Variable Importance Filters @@ -123,6 +120,7 @@ head(as.data.table(filter), 3) ``` ## feature score + ## ## 1: Petal.Width 44.224198 ## 2: Petal.Length 43.303520 ## 3: Sepal.Length 9.618601 @@ -146,7 +144,7 @@ from [mlr3pipelines](https://github.com/mlr-org/mlr3pipelines). library(mlr3pipelines) task = tsk("spam") -# the filter.frac should be tuned +# the `filter.frac` should be tuned graph = po("filter", filter = flt("auc"), filter.frac = 0.5) %>>% po("learner", lrn("classif.rpart")) @@ -154,4 +152,4 @@ learner = as_learner(graph) rr = resample(task, learner, rsmp("holdout")) ``` - ## INFO [13:47:15.660] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) + ## INFO [10:07:19.891] [mlr3] Applying learner 'auc.classif.rpart' on task 'spam' (iter 1/1) diff --git a/man/mlr_filters_anova.Rd b/man/mlr_filters_anova.Rd index 705d6316..d9057aee 100644 --- a/man/mlr_filters_anova.Rd +++ b/man/mlr_filters_anova.Rd @@ -21,11 +21,11 @@ head(as.data.table(filter), 3) # transform to p-value 10^(-filter$scores) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("anova"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -43,7 +43,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_auc.Rd b/man/mlr_filters_auc.Rd index 08b5bb15..af2aa4f1 100644 --- a/man/mlr_filters_auc.Rd +++ b/man/mlr_filters_auc.Rd @@ -17,11 +17,11 @@ filter = flt("auc") filter$calculate(task) head(as.data.table(filter), 3) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("auc"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -39,7 +39,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +81,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carscore.Rd b/man/mlr_filters_carscore.Rd index 42081245..1032a372 100644 --- a/man/mlr_filters_carscore.Rd +++ b/man/mlr_filters_carscore.Rd @@ -14,21 +14,23 @@ returns the absolute value of the calculated scores. Argument \code{verbose} defaults to \code{FALSE}. } \examples{ -task = mlr3::tsk("mtcars") -filter = flt("carscore") -filter$calculate(task) -head(as.data.table(filter), 3) +if (requireNamespace("care")) { + task = mlr3::tsk("mtcars") + filter = flt("carscore") + filter$calculate(task) + head(as.data.table(filter), 3) +} ## changing filter settings filter = flt("carscore") filter$param_set$values = list("diagonal" = TRUE) filter$calculate(task) head(as.data.table(filter), 3) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("mtcars") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("carscore"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("regr.rpart")) @@ -39,7 +41,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "MASS"), quietly = T } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -81,10 +83,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carsurvscore.Rd b/man/mlr_filters_carsurvscore.Rd index 7dbc2e8f..113297fc 100644 --- a/man/mlr_filters_carsurvscore.Rd +++ b/man/mlr_filters_carsurvscore.Rd @@ -17,7 +17,7 @@ Bommert A, Welchowski T, Schmid M, Rahnenführer J (2021). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -59,10 +59,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_cmim.Rd b/man/mlr_filters_cmim.Rd index 01f2f9aa..f837cbcb 100644 --- a/man/mlr_filters_cmim.Rd +++ b/man/mlr_filters_cmim.Rd @@ -27,11 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("cmim"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_correlation.Rd b/man/mlr_filters_correlation.Rd index 8d8104bf..1b4f9c96 100644 --- a/man/mlr_filters_correlation.Rd +++ b/man/mlr_filters_correlation.Rd @@ -20,11 +20,11 @@ filter = FilterCorrelation$new() filter$param_set$values = list("method" = "spearman") filter$calculate(task) as.data.table(filter) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("boston_housing") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("correlation"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("regr.rpart")) @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_disr.Rd b/man/mlr_filters_disr.Rd index ac861b88..62ae92bc 100644 --- a/man/mlr_filters_disr.Rd +++ b/man/mlr_filters_disr.Rd @@ -27,11 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("disr"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_find_correlation.Rd b/man/mlr_filters_find_correlation.Rd index 9fdd52a7..00cc2323 100644 --- a/man/mlr_filters_find_correlation.Rd +++ b/man/mlr_filters_find_correlation.Rd @@ -29,11 +29,11 @@ filter = flt("find_correlation", method = "spearman") filter$calculate(task) as.data.table(filter) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("find_correlation"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -43,7 +43,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_importance.Rd b/man/mlr_filters_importance.Rd index bd63b08f..4301aca2 100644 --- a/man/mlr_filters_importance.Rd +++ b/man/mlr_filters_importance.Rd @@ -11,7 +11,7 @@ extracting the variable importance (property "importance"), fits the model and extracts the importance values to use as filter scores. } \examples{ -if (requireNamespace("MASS")) { +if (requireNamespace("rpart")) { task = mlr3::tsk("iris") learner = mlr3::lrn("classif.rpart") filter = flt("importance", learner = learner) @@ -19,24 +19,24 @@ if (requireNamespace("MASS")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners"), quietly = TRUE)) { library("mlr3learners") library("mlr3pipelines") task = mlr3::tsk("spam") learner = mlr3::lrn("classif.rpart") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("importance", learner = learner), filter.frac = 0.5) \%>>\% - po("learner", mlr3::lrn("classif.lda")) + po("learner", mlr3::lrn("classif.log_reg")) graph$train(task) } } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -86,10 +86,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_information_gain.Rd b/man/mlr_filters_information_gain.Rd index 23bb4b0f..bcfc88d4 100644 --- a/man/mlr_filters_information_gain.Rd +++ b/man/mlr_filters_information_gain.Rd @@ -32,11 +32,11 @@ if (requireNamespace("FSelectorRcpp")) { } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("information_gain"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -47,7 +47,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), qu } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -89,10 +89,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmi.Rd b/man/mlr_filters_jmi.Rd index 2698b3f0..cb67300e 100644 --- a/man/mlr_filters_jmi.Rd +++ b/man/mlr_filters_jmi.Rd @@ -27,11 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("jmi"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmim.Rd b/man/mlr_filters_jmim.Rd index 488d10eb..f00531bf 100644 --- a/man/mlr_filters_jmim.Rd +++ b/man/mlr_filters_jmim.Rd @@ -27,12 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } - -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("jmim"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -55,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_kruskal_test.Rd b/man/mlr_filters_kruskal_test.Rd index 01c8c273..23672529 100644 --- a/man/mlr_filters_kruskal_test.Rd +++ b/man/mlr_filters_kruskal_test.Rd @@ -20,11 +20,11 @@ as.data.table(filter) # transform to p-value 10^(-filter$scores) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("kruskal_test"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mim.Rd b/man/mlr_filters_mim.Rd index 56207fa9..9404074b 100644 --- a/man/mlr_filters_mim.Rd +++ b/man/mlr_filters_mim.Rd @@ -27,12 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } - -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("mim"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -55,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -97,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mrmr.Rd b/man/mlr_filters_mrmr.Rd index c78ea13d..d29ac31d 100644 --- a/man/mlr_filters_mrmr.Rd +++ b/man/mlr_filters_mrmr.Rd @@ -27,11 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("mrmr"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_njmim.Rd b/man/mlr_filters_njmim.Rd index 36c01bf7..da4d0fc4 100644 --- a/man/mlr_filters_njmim.Rd +++ b/man/mlr_filters_njmim.Rd @@ -27,11 +27,11 @@ if (requireNamespace("praznik")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS", "praznik"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "praznik"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("njmim"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_performance.Rd b/man/mlr_filters_performance.Rd index 68a89c4c..618618cd 100644 --- a/man/mlr_filters_performance.Rd +++ b/man/mlr_filters_performance.Rd @@ -12,17 +12,19 @@ feature separately. The filter score is the aggregated performance of the to be minimized. } \examples{ -task = mlr3::tsk("iris") -learner = mlr3::lrn("classif.rpart") -filter = flt("performance", learner = learner) -filter$calculate(task) -as.data.table(filter) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (requireNamespace("rpart")) { + task = mlr3::tsk("iris") + learner = mlr3::lrn("classif.rpart") + filter = flt("performance", learner = learner) + filter$calculate(task) + as.data.table(filter) +} +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") l = lrn("classif.rpart") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("performance", learner = l), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -32,7 +34,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +87,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_permutation.Rd b/man/mlr_filters_permutation.Rd index e4f7d52a..d543ef31 100644 --- a/man/mlr_filters_permutation.Rd +++ b/man/mlr_filters_permutation.Rd @@ -23,19 +23,22 @@ Number of Monte-Carlo iterations to use in computing the feature importance. } \examples{ -learner = mlr3::lrn("classif.rpart") -resampling = mlr3::rsmp("holdout") -measure = mlr3::msr("classif.acc") -filter = flt("permutation", learner = learner, measure = measure, resampling = resampling, nmc = 2) -task = mlr3::tsk("iris") -filter$calculate(task) -as.data.table(filter) +if (requireNamespace("rpart")) { + learner = mlr3::lrn("classif.rpart") + resampling = mlr3::rsmp("holdout") + measure = mlr3::msr("classif.acc") + filter = flt("permutation", learner = learner, measure = measure, resampling = resampling, + nmc = 2) + task = mlr3::tsk("iris") + filter$calculate(task) + as.data.table(filter) +} -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("iris") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("permutation", nmc = 2), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -45,7 +48,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -98,10 +101,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_relief.Rd b/man/mlr_filters_relief.Rd index dc48193e..e38e6aa7 100644 --- a/man/mlr_filters_relief.Rd +++ b/man/mlr_filters_relief.Rd @@ -18,11 +18,11 @@ if (requireNamespace("FSelectorRcpp")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("iris") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("relief"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "MASS"), qu } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -74,10 +74,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_selected_features.Rd b/man/mlr_filters_selected_features.Rd index 51f3a5c3..cf26e6c4 100644 --- a/man/mlr_filters_selected_features.Rd +++ b/man/mlr_filters_selected_features.Rd @@ -17,7 +17,7 @@ different from the order in the learner. In combination with \CRANpkg{mlr3pipelines}, only the filter criterion \code{cutoff} makes sense. } \examples{ -if (requireNamespace("MASS")) { +if (requireNamespace("rpart")) { task = mlr3::tsk("iris") learner = mlr3::lrn("classif.rpart") filter = flt("selected_features", learner = learner) @@ -25,14 +25,15 @@ if (requireNamespace("MASS")) { as.data.table(filter) } -if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "rpart"), quietly = TRUE)) { library("mlr3pipelines") library("mlr3learners") task = mlr3::tsk("spam") filter = flt("selected_features", learner = lrn("classif.rpart")) - # Note: All filter scores are either 0 or 1 + # Note: All filter scores are either 0 or 1, i.e. setting `filter.cutoff = 0.5` means that + # we select all "selected features". graph = po("filter", filter = filter, filter.cutoff = 0.5) \%>>\% po("learner", mlr3::lrn("classif.log_reg")) @@ -42,7 +43,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "MASS"), qui } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -92,10 +93,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_variance.Rd b/man/mlr_filters_variance.Rd index 92e36131..f6c149c5 100644 --- a/man/mlr_filters_variance.Rd +++ b/man/mlr_filters_variance.Rd @@ -16,11 +16,11 @@ filter$calculate(task) head(filter$scores, 3) as.data.table(filter) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "MASS"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam") - # Note: The filter.frac is selected randomly and should be tuned. + # Note: `filter.frac` is selected randomly and should be tuned. graph = po("filter", filter = flt("variance"), filter.frac = 0.5) \%>>\% po("learner", mlr3::lrn("classif.rpart")) @@ -38,7 +38,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -80,10 +80,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} From b01abda4ecdeeeb77d31eabc8a604c00e25b8e2a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 25 Aug 2022 08:22:00 +0000 Subject: [PATCH 16/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- man/mlr_filters_anova.Rd | 10 +++++----- man/mlr_filters_auc.Rd | 10 +++++----- man/mlr_filters_carscore.Rd | 10 +++++----- man/mlr_filters_carsurvscore.Rd | 10 +++++----- man/mlr_filters_cmim.Rd | 10 +++++----- man/mlr_filters_correlation.Rd | 10 +++++----- man/mlr_filters_disr.Rd | 10 +++++----- man/mlr_filters_find_correlation.Rd | 10 +++++----- man/mlr_filters_importance.Rd | 10 +++++----- man/mlr_filters_information_gain.Rd | 10 +++++----- man/mlr_filters_jmi.Rd | 10 +++++----- man/mlr_filters_jmim.Rd | 10 +++++----- man/mlr_filters_kruskal_test.Rd | 10 +++++----- man/mlr_filters_mim.Rd | 10 +++++----- man/mlr_filters_mrmr.Rd | 10 +++++----- man/mlr_filters_njmim.Rd | 10 +++++----- man/mlr_filters_performance.Rd | 10 +++++----- man/mlr_filters_permutation.Rd | 10 +++++----- man/mlr_filters_relief.Rd | 10 +++++----- man/mlr_filters_selected_features.Rd | 10 +++++----- man/mlr_filters_variance.Rd | 10 +++++----- 21 files changed, 105 insertions(+), 105 deletions(-) diff --git a/man/mlr_filters_anova.Rd b/man/mlr_filters_anova.Rd index d9057aee..7b9b30e4 100644 --- a/man/mlr_filters_anova.Rd +++ b/man/mlr_filters_anova.Rd @@ -43,7 +43,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_auc.Rd b/man/mlr_filters_auc.Rd index 90fd914d..cd751047 100644 --- a/man/mlr_filters_auc.Rd +++ b/man/mlr_filters_auc.Rd @@ -41,7 +41,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -83,10 +83,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carscore.Rd b/man/mlr_filters_carscore.Rd index cc31336d..f2fca170 100644 --- a/man/mlr_filters_carscore.Rd +++ b/man/mlr_filters_carscore.Rd @@ -41,7 +41,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "care", "rpart"), quietly = } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -83,10 +83,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_carsurvscore.Rd b/man/mlr_filters_carsurvscore.Rd index 113297fc..7dbc2e8f 100644 --- a/man/mlr_filters_carsurvscore.Rd +++ b/man/mlr_filters_carsurvscore.Rd @@ -17,7 +17,7 @@ Bommert A, Welchowski T, Schmid M, Rahnenführer J (2021). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -59,10 +59,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_cmim.Rd b/man/mlr_filters_cmim.Rd index f837cbcb..406d3607 100644 --- a/man/mlr_filters_cmim.Rd +++ b/man/mlr_filters_cmim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_correlation.Rd b/man/mlr_filters_correlation.Rd index 1b4f9c96..c2a7b104 100644 --- a/man/mlr_filters_correlation.Rd +++ b/man/mlr_filters_correlation.Rd @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_disr.Rd b/man/mlr_filters_disr.Rd index 62ae92bc..cc0bb353 100644 --- a/man/mlr_filters_disr.Rd +++ b/man/mlr_filters_disr.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_find_correlation.Rd b/man/mlr_filters_find_correlation.Rd index 00cc2323..730be1cc 100644 --- a/man/mlr_filters_find_correlation.Rd +++ b/man/mlr_filters_find_correlation.Rd @@ -43,7 +43,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -85,10 +85,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_importance.Rd b/man/mlr_filters_importance.Rd index 1bdf5e01..5475f48f 100644 --- a/man/mlr_filters_importance.Rd +++ b/man/mlr_filters_importance.Rd @@ -36,7 +36,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "mlr3learners"), qu } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -86,10 +86,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_information_gain.Rd b/man/mlr_filters_information_gain.Rd index bcfc88d4..82b5c1f7 100644 --- a/man/mlr_filters_information_gain.Rd +++ b/man/mlr_filters_information_gain.Rd @@ -47,7 +47,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "rpart"), q } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -89,10 +89,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmi.Rd b/man/mlr_filters_jmi.Rd index cb67300e..66c9a9f0 100644 --- a/man/mlr_filters_jmi.Rd +++ b/man/mlr_filters_jmi.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_jmim.Rd b/man/mlr_filters_jmim.Rd index f00531bf..d36c768b 100644 --- a/man/mlr_filters_jmim.Rd +++ b/man/mlr_filters_jmim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_kruskal_test.Rd b/man/mlr_filters_kruskal_test.Rd index 23672529..16f5d24e 100644 --- a/man/mlr_filters_kruskal_test.Rd +++ b/man/mlr_filters_kruskal_test.Rd @@ -42,7 +42,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -84,10 +84,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mim.Rd b/man/mlr_filters_mim.Rd index 9404074b..65b4433b 100644 --- a/man/mlr_filters_mim.Rd +++ b/man/mlr_filters_mim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_mrmr.Rd b/man/mlr_filters_mrmr.Rd index d29ac31d..e9b0786f 100644 --- a/man/mlr_filters_mrmr.Rd +++ b/man/mlr_filters_mrmr.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_njmim.Rd b/man/mlr_filters_njmim.Rd index da4d0fc4..38ef7f7c 100644 --- a/man/mlr_filters_njmim.Rd +++ b/man/mlr_filters_njmim.Rd @@ -54,7 +54,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -96,10 +96,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_performance.Rd b/man/mlr_filters_performance.Rd index aa271d0a..69cb721e 100644 --- a/man/mlr_filters_performance.Rd +++ b/man/mlr_filters_performance.Rd @@ -34,7 +34,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -87,10 +87,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_permutation.Rd b/man/mlr_filters_permutation.Rd index d543ef31..0d5cfc7d 100644 --- a/man/mlr_filters_permutation.Rd +++ b/man/mlr_filters_permutation.Rd @@ -48,7 +48,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -101,10 +101,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_relief.Rd b/man/mlr_filters_relief.Rd index e38e6aa7..c85cb2fc 100644 --- a/man/mlr_filters_relief.Rd +++ b/man/mlr_filters_relief.Rd @@ -32,7 +32,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "FSelectorRcpp", "rpart"), q } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -74,10 +74,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_selected_features.Rd b/man/mlr_filters_selected_features.Rd index cf26e6c4..2a5c9691 100644 --- a/man/mlr_filters_selected_features.Rd +++ b/man/mlr_filters_selected_features.Rd @@ -43,7 +43,7 @@ if (mlr3misc::require_namespaces(c("mlr3pipelines", "mlr3learners", "rpart"), qu } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -93,10 +93,10 @@ Learner to extract the importance values from.} \if{html}{\out{
Inherited methods
}} diff --git a/man/mlr_filters_variance.Rd b/man/mlr_filters_variance.Rd index f6c149c5..ab26cf38 100644 --- a/man/mlr_filters_variance.Rd +++ b/man/mlr_filters_variance.Rd @@ -38,7 +38,7 @@ Bommert A, Sun X, Bischl B, Rahnenführer J, Lang M (2020). } \seealso{ \itemize{ -\item \link[mlr3pipelines:mlr_pipeops_filter]{PipeOpFilter} for filter-based feature selection. +\item \link[mlr3pipelines:PipeOpFilter]{PipeOpFilter} for filter-based feature selection. \item \link[mlr3misc:Dictionary]{Dictionary} of \link[=Filter]{Filters}: \link{mlr_filters} } @@ -80,10 +80,10 @@ Other Filter: \if{html}{\out{
Inherited methods
}} From bfbfd6c31fff896dfd1dd2b0a867bcc2b1fbb54c Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Thu, 25 Aug 2022 10:24:49 +0200 Subject: [PATCH 17/17] chore: don't escape mlr3measures --- R/FilterAUC.R | 12 +++++------- man/mlr_filters_auc.Rd | 12 +++++------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/R/FilterAUC.R b/R/FilterAUC.R index 533259d1..4b848fca 100644 --- a/R/FilterAUC.R +++ b/R/FilterAUC.R @@ -18,14 +18,12 @@ #' @template seealso_filter #' @export #' @examples -#' if (requireNamespace("mlr3measures")) { -#' task = mlr3::tsk("pima") -#' filter = flt("auc") -#' filter$calculate(task) -#' head(as.data.table(filter), 3) -#' } +#' task = mlr3::tsk("pima") +#' filter = flt("auc") +#' filter$calculate(task) +#' head(as.data.table(filter), 3) #' -#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "mlr3measures"), quietly = TRUE)) { +#' if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { #' library("mlr3pipelines") #' task = mlr3::tsk("spam") #' diff --git a/man/mlr_filters_auc.Rd b/man/mlr_filters_auc.Rd index 90fd914d..af2aa4f1 100644 --- a/man/mlr_filters_auc.Rd +++ b/man/mlr_filters_auc.Rd @@ -12,14 +12,12 @@ calculating the AUC. If the AUC is undefined for the input, it is set to 0.5 0.5 is used as final filter value. } \examples{ -if (requireNamespace("mlr3measures")) { - task = mlr3::tsk("pima") - filter = flt("auc") - filter$calculate(task) - head(as.data.table(filter), 3) -} +task = mlr3::tsk("pima") +filter = flt("auc") +filter$calculate(task) +head(as.data.table(filter), 3) -if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart", "mlr3measures"), quietly = TRUE)) { +if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) { library("mlr3pipelines") task = mlr3::tsk("spam")