diff --git a/DESCRIPTION b/DESCRIPTION index ef32405dc..53a9a06f2 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: mlr3pipelines Title: Preprocessing Operators and Pipelines for 'mlr3' -Version: 0.7.0 +Version: 0.7.0-9000 Authors@R: c(person(given = "Martin", family = "Binder", @@ -163,6 +163,7 @@ Collate: 'PipeOpMutate.R' 'PipeOpNMF.R' 'PipeOpNOP.R' + 'PipeOpNearmiss.R' 'PipeOpOVR.R' 'PipeOpPCA.R' 'PipeOpProxy.R' @@ -183,6 +184,7 @@ Collate: 'PipeOpSubsample.R' 'PipeOpTextVectorizer.R' 'PipeOpThreshold.R' + 'PipeOpTomek.R' 'PipeOpTrafo.R' 'PipeOpTuneThreshold.R' 'PipeOpUnbranch.R' diff --git a/NAMESPACE b/NAMESPACE index 037f3a3e4..00539352c 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -132,6 +132,7 @@ export(PipeOpMultiplicityImply) export(PipeOpMutate) export(PipeOpNMF) export(PipeOpNOP) +export(PipeOpNearmiss) export(PipeOpOVRSplit) export(PipeOpOVRUnite) export(PipeOpPCA) @@ -160,6 +161,7 @@ export(PipeOpTaskPreproc) export(PipeOpTaskPreprocSimple) export(PipeOpTextVectorizer) export(PipeOpThreshold) +export(PipeOpTomek) export(PipeOpTuneThreshold) export(PipeOpUnbranch) export(PipeOpVtreat) diff --git a/NEWS.md b/NEWS.md index 78e830707..ab1bf02a0 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,7 @@ +# mlr3pipelines 0.7.0-9000 + +* New down-sampling PipeOps for inbalanced data: `PipeOpTomek` / `po("tomek")` and `PipeOpNearmiss` / `po("nearmiss")` + # mlr3pipelines 0.7.0 * New PipeOp `PipeOpRowApply` / `po("rowapply")` @@ -16,9 +20,7 @@ * `as_data_table(po())` now works even when some `PipeOp`s can not be constructed. For these `PipeOp`s, `NA` is reported in most columns. * Compatibility with upcoming `mlr3` release. -* New PipeOp: `PipeOpRowApply` / `po("rowapply")` -* New PipeOps for handling inbalanced data: `PipeOpADAS` / `po("adas")` and `PipeOpBLSmote` / `po("blsmote")` -* New PipeOp for handling inbalanced data: `PipeOpSmoteNC` / `po("smotenc")` +* New PipeOps for handling inbalanced data: `PipeOpADAS` / `po("adas")`, `PipeOpBLSmote` / `po("blsmote")` and `PipeOpSmoteNC` / `po("smotenc")` # mlr3pipelines 0.6.0 diff --git a/R/PipeOpNearmiss.R b/R/PipeOpNearmiss.R new file mode 100644 index 000000000..cade2dea5 --- /dev/null +++ b/R/PipeOpNearmiss.R @@ -0,0 +1,110 @@ +#' @title Nearmiss Down-Sampling +#' +#' @usage NULL +#' @name mlr_pipeops_nearmiss +#' @format [`R6Class`][R6::R6Class] object inheriting from [`PipeOpTaskPreproc`]/[`PipeOp`]. +#' +#' @description +#' Generates a more balanced data set by down-sampling the instances of non-minority classes using the NEARMISS algorithm. +#' +#' The algorithm down-samples by selecting instances from the non-minority classes that have the smallest mean distance +#' to their `k` nearest neighbors of different classes. +#' For this only numeric and integer features are taken into account. These must have no missing values. +#' +#' This can only be applied to [classification tasks][mlr3::TaskClassif]. Multiclass classification is supported. +#' +#' See [`themis::nearmiss`] for details. +#' +#' @section Construction: +#' ``` +#' PipeOpNearmiss$new(id = "nearmiss", param_vals = list()) +#' ``` +#' +#' * `id` :: `character(1)`\cr +#' Identifier of resulting object, default `"nearmiss"`. +#' * `param_vals` :: named `list`\cr +#' List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction. Default `list()`. +#' +#' @section Input and Output Channels: +#' Input and output channels are inherited from [`PipeOpTaskPreproc`]. +#' +#' The output during training is the input [`Task`][mlr3::Task] with the rows removed from the non-minority classes. +#' The output during prediction is the unchanged input. +#' +#' @section State: +#' The `$state` is a named `list` with the `$state` elements inherited from [`PipeOpTaskPreproc`]. +#' +#' @section Parameters: +#' The parameters are the parameters inherited from [`PipeOpTaskPreproc`], as well as +#' * `k` :: `integer(1)`\cr +#' Number of nearest neighbors used for calculating the mean distances. Default is `5`. +#' * `under_ratio` :: `numeric(1)`\cr +#' Ratio of the minority-to-majority frequencies. This specifies the ratio to which the number of instances +#' in the non-minority classes get down-sampled to, relative to the number of instances of the minority class. +#' Default is `1`. For details, see [`themis::nearmiss`]. +#' +#' @section Fields: +#' Only fields inherited from [`PipeOpTaskPreproc`]/[`PipeOp`]. +#' +#' @section Methods: +#' Only methods inherited from [`PipeOpTaskPreproc`]/[`PipeOp`]. +#' +#' @references +#' `r format_bib("zhang2003")` +#' +#' @family PipeOps +#' @template seealso_pipeopslist +#' @include PipeOpTaskPreproc.R +#' @export +#' @examples +#' \dontshow{ if (requireNamespace("themis")) \{ } +#' library("mlr3") +#' +#' # Create example task +#' task = tsk("wine") +#' task$head() +#' table(task$data(cols = "type")) +#' +#' # Down-sample and balance data +#' pop = po("nearmiss") +#' nearmiss_result = pop$train(list(task))[[1]]$data() +#' nrow(nearmiss_result) +#' table(nearmiss_result$type) +#' \dontshow{ \} } +PipeOpNearmiss = R6Class("PipeOpNearmiss", + inherit = PipeOpTaskPreproc, + public = list( + initialize = function(id = "nearmiss", param_vals = list()) { + ps = ps( + k = p_int(lower = 1, default = 5, tags = c("train", "nearmiss")), + under_ratio = p_dbl(lower = 0, default = 1, tags = c("train", "nearmiss")) + ) + super$initialize(id, param_set = ps, param_vals = param_vals, packages = "themis", can_subset_cols = FALSE, + task_type = "TaskClassif", tags = "imbalanced data") + } + ), + private = list( + + .train_task = function(task) { + # Return task unchanged, if no feature columns exist + if (!length(task$feature_names)) { + return(task) + } + # At least one numeric or integer feature required + if (!any(task$feature_types$type %in% c("numeric", "integer"))) { + stop("Nearmiss needs at least one numeric or integer feature to work.") + } + # Subset columns to only include integer/numeric features and the target + type = id = NULL + cols = c(task$feature_types[type %in% c("integer", "numeric"), id], task$target_names) + # Down-sample data + dt = setDT(invoke(themis::nearmiss, df = task$data(cols = cols), var = task$target_names, + .args = self$param_set$get_values(tags = "nearmiss"))) + + keep = task$row_ids[as.integer(row.names(dt))] + task$filter(keep) + } + ) +) + +mlr_pipeops$add("nearmiss", PipeOpNearmiss) diff --git a/R/PipeOpTomek.R b/R/PipeOpTomek.R new file mode 100644 index 000000000..b14f8c921 --- /dev/null +++ b/R/PipeOpTomek.R @@ -0,0 +1,99 @@ +#' @title Tomek Down-Sampling +#' +#' @usage NULL +#' @name mlr_pipeops_tomek +#' @format [`R6Class`][R6::R6Class] object inheriting from [`PipeOpTaskPreproc`]/[`PipeOp`]. +#' +#' @description +#' Generates a cleaner data set by removing all majority-minority Tomek links. +#' +#' The algorithm down-samples the data by removing all pairs of observations that form a Tomek link, +#' i.e. a pair of observations that are nearest neighbors and belong to different classes. +#' For this only numeric and integer features are taken into account. These must have no missing values. +#' +#' This can only be applied to [classification tasks][mlr3::TaskClassif]. Multiclass classification is supported. +#' +#' See [`themis::tomek`] for details. +#' +#' @section Construction: +#' ``` +#' PipeOpTOmek$new(id = "tomek", param_vals = list()) +#' ``` +#' +#' * `id` :: `character(1)`\cr +#' Identifier of resulting object, default `"tomek"`. +#' * `param_vals` :: named `list`\cr +#' List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction. Default `list()`. +#' +#' @section Input and Output Channels: +#' Input and output channels are inherited from [`PipeOpTaskPreproc`]. +#' +#' The output during training is the input [`Task`][mlr3::Task] with removed rows for pairs of observations that form a Tomek link. +#' The output during prediction is the unchanged input. +#' +#' @section State: +#' The `$state` is a named `list` with the `$state` elements inherited from [`PipeOpTaskPreproc`]. +#' +#' @section Parameters: +#' The parameters are the parameters inherited from [`PipeOpTaskPreproc`]. +#' +#' @section Fields: +#' Only fields inherited from [`PipeOpTaskPreproc`]/[`PipeOp`]. +#' +#' @section Methods: +#' Only methods inherited from [`PipeOpTaskPreproc`]/[`PipeOp`]. +#' +#' @references +#' `r format_bib("tomek1976")` +#' +#' @family PipeOps +#' @template seealso_pipeopslist +#' @include PipeOpTaskPreproc.R +#' @export +#' @examples +#' \dontshow{ if (requireNamespace("themis")) \{ } +#' library("mlr3") +#' +#' # Create example task +#' task = tsk("iris") +#' task$head() +#' table(task$data(cols = "Species")) +#' +#' # Down-sample data +#' pop = po("tomek") +#' tomek_result = pop$train(list(task))[[1]]$data() +#' nrow(tomek_result) +#' table(tomek_result$Species) +#' \dontshow{ \} } +PipeOpTomek = R6Class("PipeOpTomek", + inherit = PipeOpTaskPreproc, + public = list( + initialize = function(id = "tomek", param_vals = list()) { + super$initialize(id, param_set = ps(), param_vals = param_vals, packages = "themis", can_subset_cols = FALSE, + task_type = "TaskClassif", tags = "imbalanced data") + } + ), + private = list( + + .train_task = function(task) { + # Return task unchanged, if no feature columns exist + if (!length(task$feature_names)) { + return(task) + } + # At least one numeric or integer feature required + if (!any(task$feature_types$type %in% c("numeric", "integer"))) { + stop("Tomek needs at least one numeric or integer feature to work.") + } + # Subset columns to only include integer/numeric features and the target + type = id = NULL + cols = c(task$feature_types[type %in% c("integer", "numeric"), id], task$target_names) + # Down-sample data + dt = setDT(invoke(themis::tomek, df = task$data(cols = cols), var = task$target_names)) + + keep = task$row_ids[as.integer(row.names(dt))] + task$filter(keep) + } + ) +) + +mlr_pipeops$add("tomek", PipeOpTomek) diff --git a/R/bibentries.R b/R/bibentries.R index ecd2f09d9..87ab522c5 100644 --- a/R/bibentries.R +++ b/R/bibentries.R @@ -54,6 +54,25 @@ bibentries = c( journal = "Journal of the American Statistical Association" ), + zhang2003 = bibentry("inproceedings", + year = "2003", + author = "Zhang, J. and Mani, I.", + title = "KNN Approach to Unbalanced Data Distributions: A Case Study Involving Information Extraction", + booktitle = "Proceedings of Workshop on Learning from Imbalanced Datasets (ICML)", + ), + + tomek1976 = bibentry("article", + doi = "10.1109/TSMC.1976.4309452", + author = "I. Tomek", + year = "1976", + title = "Two Modifications of CNN", + journal = "IEEE Transactions on Systems, Man and Cybernetics", + volume = "6", + number = "11", + pages = "769--772", + publisher = "IEEE" + ), + he_2008 = bibentry("InProceedings", author = "Haibo He and Yang Bai and Garcia, Edwardo A. and Shutao Li", booktitle = "2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence)", @@ -75,4 +94,5 @@ bibentries = c( pages = "878--887", isbn = "978-3-540-31902-3" ) + ) diff --git a/man/PipeOp.Rd b/man/PipeOp.Rd index 272f42272..e04b5cd15 100644 --- a/man/PipeOp.Rd +++ b/man/PipeOp.Rd @@ -309,6 +309,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -336,6 +337,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/PipeOpEnsemble.Rd b/man/PipeOpEnsemble.Rd index afdb26f49..ea902621f 100644 --- a/man/PipeOpEnsemble.Rd +++ b/man/PipeOpEnsemble.Rd @@ -141,6 +141,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -168,6 +169,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/PipeOpImpute.Rd b/man/PipeOpImpute.Rd index 1f4849561..56d4a8690 100644 --- a/man/PipeOpImpute.Rd +++ b/man/PipeOpImpute.Rd @@ -174,6 +174,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -201,6 +202,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/PipeOpTargetTrafo.Rd b/man/PipeOpTargetTrafo.Rd index 54743c3f2..31473482e 100644 --- a/man/PipeOpTargetTrafo.Rd +++ b/man/PipeOpTargetTrafo.Rd @@ -182,6 +182,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -209,6 +210,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/PipeOpTaskPreproc.Rd b/man/PipeOpTaskPreproc.Rd index 6fdb0b27f..43c04036a 100644 --- a/man/PipeOpTaskPreproc.Rd +++ b/man/PipeOpTaskPreproc.Rd @@ -237,6 +237,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -264,6 +265,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/PipeOpTaskPreprocSimple.Rd b/man/PipeOpTaskPreprocSimple.Rd index 718910f16..69e0186d3 100644 --- a/man/PipeOpTaskPreprocSimple.Rd +++ b/man/PipeOpTaskPreprocSimple.Rd @@ -174,6 +174,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -201,6 +202,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops.Rd b/man/mlr_pipeops.Rd index 51304c44e..0a9bddc1b 100644 --- a/man/mlr_pipeops.Rd +++ b/man/mlr_pipeops.Rd @@ -111,6 +111,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -138,6 +139,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_adas.Rd b/man/mlr_pipeops_adas.Rd index 0001cb2a1..8663baff4 100644 --- a/man/mlr_pipeops_adas.Rd +++ b/man/mlr_pipeops_adas.Rd @@ -134,6 +134,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -161,6 +162,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_blsmote.Rd b/man/mlr_pipeops_blsmote.Rd index 0a95d406f..0ad16183d 100644 --- a/man/mlr_pipeops_blsmote.Rd +++ b/man/mlr_pipeops_blsmote.Rd @@ -139,6 +139,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -166,6 +167,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_boxcox.Rd b/man/mlr_pipeops_boxcox.Rd index c52a389d0..2dd377c58 100644 --- a/man/mlr_pipeops_boxcox.Rd +++ b/man/mlr_pipeops_boxcox.Rd @@ -125,6 +125,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -152,6 +153,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_branch.Rd b/man/mlr_pipeops_branch.Rd index 9efd50e39..b2799c93f 100644 --- a/man/mlr_pipeops_branch.Rd +++ b/man/mlr_pipeops_branch.Rd @@ -143,6 +143,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -170,6 +171,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_chunk.Rd b/man/mlr_pipeops_chunk.Rd index 3b1cead00..2431862b6 100644 --- a/man/mlr_pipeops_chunk.Rd +++ b/man/mlr_pipeops_chunk.Rd @@ -122,6 +122,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -149,6 +150,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_classbalancing.Rd b/man/mlr_pipeops_classbalancing.Rd index 7f2b78431..1b4386e06 100644 --- a/man/mlr_pipeops_classbalancing.Rd +++ b/man/mlr_pipeops_classbalancing.Rd @@ -163,6 +163,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -190,6 +191,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_classifavg.Rd b/man/mlr_pipeops_classifavg.Rd index 43a0f4b1a..8a2d28851 100644 --- a/man/mlr_pipeops_classifavg.Rd +++ b/man/mlr_pipeops_classifavg.Rd @@ -139,6 +139,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -166,6 +167,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_classweights.Rd b/man/mlr_pipeops_classweights.Rd index 5b38abe05..baa195e12 100644 --- a/man/mlr_pipeops_classweights.Rd +++ b/man/mlr_pipeops_classweights.Rd @@ -142,6 +142,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -169,6 +170,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_colapply.Rd b/man/mlr_pipeops_colapply.Rd index 3237fb817..682b5e293 100644 --- a/man/mlr_pipeops_colapply.Rd +++ b/man/mlr_pipeops_colapply.Rd @@ -152,6 +152,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -179,6 +180,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_collapsefactors.Rd b/man/mlr_pipeops_collapsefactors.Rd index 4b54e5cec..f0e9f0599 100644 --- a/man/mlr_pipeops_collapsefactors.Rd +++ b/man/mlr_pipeops_collapsefactors.Rd @@ -119,6 +119,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -146,6 +147,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_colroles.Rd b/man/mlr_pipeops_colroles.Rd index fd92f10d8..2fa18c5a9 100644 --- a/man/mlr_pipeops_colroles.Rd +++ b/man/mlr_pipeops_colroles.Rd @@ -111,6 +111,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -138,6 +139,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_copy.Rd b/man/mlr_pipeops_copy.Rd index e00027bf7..b1e770b10 100644 --- a/man/mlr_pipeops_copy.Rd +++ b/man/mlr_pipeops_copy.Rd @@ -141,6 +141,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -168,6 +169,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_datefeatures.Rd b/man/mlr_pipeops_datefeatures.Rd index f0e8983f0..60dee4b79 100644 --- a/man/mlr_pipeops_datefeatures.Rd +++ b/man/mlr_pipeops_datefeatures.Rd @@ -158,6 +158,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -185,6 +186,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_encode.Rd b/man/mlr_pipeops_encode.Rd index 9ae76623f..79e39e75e 100644 --- a/man/mlr_pipeops_encode.Rd +++ b/man/mlr_pipeops_encode.Rd @@ -154,6 +154,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -181,6 +182,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_encodeimpact.Rd b/man/mlr_pipeops_encodeimpact.Rd index 34794b534..18f532a7b 100644 --- a/man/mlr_pipeops_encodeimpact.Rd +++ b/man/mlr_pipeops_encodeimpact.Rd @@ -136,6 +136,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -163,6 +164,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_encodelmer.Rd b/man/mlr_pipeops_encodelmer.Rd index 09c5ecfd2..9d5d7fa90 100644 --- a/man/mlr_pipeops_encodelmer.Rd +++ b/man/mlr_pipeops_encodelmer.Rd @@ -151,6 +151,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -178,6 +179,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_featureunion.Rd b/man/mlr_pipeops_featureunion.Rd index 51221b36f..20fe861b0 100644 --- a/man/mlr_pipeops_featureunion.Rd +++ b/man/mlr_pipeops_featureunion.Rd @@ -156,6 +156,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -183,6 +184,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_filter.Rd b/man/mlr_pipeops_filter.Rd index c12bf557d..ebd0ed711 100644 --- a/man/mlr_pipeops_filter.Rd +++ b/man/mlr_pipeops_filter.Rd @@ -187,6 +187,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -214,6 +215,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_fixfactors.Rd b/man/mlr_pipeops_fixfactors.Rd index d8883be9d..9bf3536f3 100644 --- a/man/mlr_pipeops_fixfactors.Rd +++ b/man/mlr_pipeops_fixfactors.Rd @@ -111,6 +111,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -138,6 +139,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_histbin.Rd b/man/mlr_pipeops_histbin.Rd index 424cc0b27..5d03b0fc3 100644 --- a/man/mlr_pipeops_histbin.Rd +++ b/man/mlr_pipeops_histbin.Rd @@ -123,6 +123,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -150,6 +151,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_ica.Rd b/man/mlr_pipeops_ica.Rd index 386243308..02435608b 100644 --- a/man/mlr_pipeops_ica.Rd +++ b/man/mlr_pipeops_ica.Rd @@ -151,6 +151,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -178,6 +179,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_imputeconstant.Rd b/man/mlr_pipeops_imputeconstant.Rd index f8a83821a..2bdd6a834 100644 --- a/man/mlr_pipeops_imputeconstant.Rd +++ b/man/mlr_pipeops_imputeconstant.Rd @@ -125,6 +125,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -152,6 +153,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_imputehist.Rd b/man/mlr_pipeops_imputehist.Rd index e9db73184..8d5e7e282 100644 --- a/man/mlr_pipeops_imputehist.Rd +++ b/man/mlr_pipeops_imputehist.Rd @@ -117,6 +117,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -144,6 +145,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_imputelearner.Rd b/man/mlr_pipeops_imputelearner.Rd index 2ea98c891..993218618 100644 --- a/man/mlr_pipeops_imputelearner.Rd +++ b/man/mlr_pipeops_imputelearner.Rd @@ -162,6 +162,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -189,6 +190,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_imputemean.Rd b/man/mlr_pipeops_imputemean.Rd index 8bb852bd1..743d5e40d 100644 --- a/man/mlr_pipeops_imputemean.Rd +++ b/man/mlr_pipeops_imputemean.Rd @@ -110,6 +110,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -137,6 +138,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_imputemedian.Rd b/man/mlr_pipeops_imputemedian.Rd index 96000e310..d6957908f 100644 --- a/man/mlr_pipeops_imputemedian.Rd +++ b/man/mlr_pipeops_imputemedian.Rd @@ -110,6 +110,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -137,6 +138,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_imputemode.Rd b/man/mlr_pipeops_imputemode.Rd index 4f6301738..2afef773d 100644 --- a/man/mlr_pipeops_imputemode.Rd +++ b/man/mlr_pipeops_imputemode.Rd @@ -117,6 +117,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -144,6 +145,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_imputeoor.Rd b/man/mlr_pipeops_imputeoor.Rd index 20bbc212f..f66d6e767 100644 --- a/man/mlr_pipeops_imputeoor.Rd +++ b/man/mlr_pipeops_imputeoor.Rd @@ -158,6 +158,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -185,6 +186,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_imputesample.Rd b/man/mlr_pipeops_imputesample.Rd index f170906b4..a798e003b 100644 --- a/man/mlr_pipeops_imputesample.Rd +++ b/man/mlr_pipeops_imputesample.Rd @@ -112,6 +112,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -139,6 +140,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_kernelpca.Rd b/man/mlr_pipeops_kernelpca.Rd index 02dd7b833..b80983868 100644 --- a/man/mlr_pipeops_kernelpca.Rd +++ b/man/mlr_pipeops_kernelpca.Rd @@ -126,6 +126,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -153,6 +154,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_learner.Rd b/man/mlr_pipeops_learner.Rd index e9ff48dac..bfb923270 100644 --- a/man/mlr_pipeops_learner.Rd +++ b/man/mlr_pipeops_learner.Rd @@ -157,6 +157,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -184,6 +185,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_missind.Rd b/man/mlr_pipeops_missind.Rd index 6767e406c..df3befe85 100644 --- a/man/mlr_pipeops_missind.Rd +++ b/man/mlr_pipeops_missind.Rd @@ -140,6 +140,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -167,6 +168,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_modelmatrix.Rd b/man/mlr_pipeops_modelmatrix.Rd index c6e8f210d..88feb3fdb 100644 --- a/man/mlr_pipeops_modelmatrix.Rd +++ b/man/mlr_pipeops_modelmatrix.Rd @@ -116,6 +116,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -143,6 +144,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_multiplicityexply.Rd b/man/mlr_pipeops_multiplicityexply.Rd index 12b97ef31..abdfe2f82 100644 --- a/man/mlr_pipeops_multiplicityexply.Rd +++ b/man/mlr_pipeops_multiplicityexply.Rd @@ -122,6 +122,7 @@ Other PipeOps: \code{\link{mlr_pipeops_modelmatrix}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -149,6 +150,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_multiplicityimply.Rd b/man/mlr_pipeops_multiplicityimply.Rd index f6ad1dece..23e0a3e1d 100644 --- a/man/mlr_pipeops_multiplicityimply.Rd +++ b/man/mlr_pipeops_multiplicityimply.Rd @@ -128,6 +128,7 @@ Other PipeOps: \code{\link{mlr_pipeops_modelmatrix}}, \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -155,6 +156,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_mutate.Rd b/man/mlr_pipeops_mutate.Rd index 9a44c8f71..4bc31cc8b 100644 --- a/man/mlr_pipeops_mutate.Rd +++ b/man/mlr_pipeops_mutate.Rd @@ -133,6 +133,7 @@ Other PipeOps: \code{\link{mlr_pipeops_modelmatrix}}, \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -160,6 +161,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_nearmiss.Rd b/man/mlr_pipeops_nearmiss.Rd new file mode 100644 index 000000000..ce5a1908b --- /dev/null +++ b/man/mlr_pipeops_nearmiss.Rd @@ -0,0 +1,172 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/PipeOpNearmiss.R +\name{mlr_pipeops_nearmiss} +\alias{mlr_pipeops_nearmiss} +\alias{PipeOpNearmiss} +\title{Nearmiss Down-Sampling} +\format{ +\code{\link[R6:R6Class]{R6Class}} object inheriting from \code{\link{PipeOpTaskPreproc}}/\code{\link{PipeOp}}. +} +\description{ +Generates a more balanced data set by down-sampling the instances of non-minority classes using the NEARMISS algorithm. + +The algorithm down-samples by selecting instances from the non-minority classes that have the smallest mean distance +to their \code{k} nearest neighbors of different classes. +For this only numeric and integer features are taken into account. These must have no missing values. + +This can only be applied to \link[mlr3:TaskClassif]{classification tasks}. Multiclass classification is supported. + +See \code{\link[themis:nearmiss]{themis::nearmiss}} for details. +} +\section{Construction}{ + + +\if{html}{\out{
}}\preformatted{PipeOpNearmiss$new(id = "nearmiss", param_vals = list()) +}\if{html}{\out{
}} +\itemize{ +\item \code{id} :: \code{character(1)}\cr +Identifier of resulting object, default \code{"nearmiss"}. +\item \code{param_vals} :: named \code{list}\cr +List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction. Default \code{list()}. +} +} + +\section{Input and Output Channels}{ + +Input and output channels are inherited from \code{\link{PipeOpTaskPreproc}}. + +The output during training is the input \code{\link[mlr3:Task]{Task}} with the rows removed from the non-minority classes. +The output during prediction is the unchanged input. +} + +\section{State}{ + +The \verb{$state} is a named \code{list} with the \verb{$state} elements inherited from \code{\link{PipeOpTaskPreproc}}. +} + +\section{Parameters}{ + +The parameters are the parameters inherited from \code{\link{PipeOpTaskPreproc}}, as well as +\itemize{ +\item \code{k} :: \code{integer(1)}\cr +Number of nearest neighbors used for calculating the mean distances. Default is \code{5}. +\item \code{under_ratio} :: \code{numeric(1)}\cr +Ratio of the minority-to-majority frequencies. This specifies the ratio to which the number of instances +in the non-minority classes get down-sampled to, relative to the number of instances of the minority class. +Default is \code{1}. For details, see \code{\link[themis:nearmiss]{themis::nearmiss}}. +} +} + +\section{Fields}{ + +Only fields inherited from \code{\link{PipeOpTaskPreproc}}/\code{\link{PipeOp}}. +} + +\section{Methods}{ + +Only methods inherited from \code{\link{PipeOpTaskPreproc}}/\code{\link{PipeOp}}. +} + +\examples{ +\dontshow{ if (requireNamespace("themis")) \{ } +library("mlr3") + +# Create example task +task = tsk("wine") +task$head() +table(task$data(cols = "type")) + +# Down-sample and balance data +pop = po("nearmiss") +nearmiss_result = pop$train(list(task))[[1]]$data() +nrow(nearmiss_result) +table(nearmiss_result$type) +\dontshow{ \} } +} +\references{ +Zhang, J., Mani, I. (2003). +\dQuote{KNN Approach to Unbalanced Data Distributions: A Case Study Involving Information Extraction.} +In \emph{Proceedings of Workshop on Learning from Imbalanced Datasets (ICML)}. +} +\seealso{ +https://mlr-org.com/pipeops.html + +Other PipeOps: +\code{\link{PipeOp}}, +\code{\link{PipeOpEnsemble}}, +\code{\link{PipeOpImpute}}, +\code{\link{PipeOpTargetTrafo}}, +\code{\link{PipeOpTaskPreproc}}, +\code{\link{PipeOpTaskPreprocSimple}}, +\code{\link{mlr_pipeops}}, +\code{\link{mlr_pipeops_adas}}, +\code{\link{mlr_pipeops_blsmote}}, +\code{\link{mlr_pipeops_boxcox}}, +\code{\link{mlr_pipeops_branch}}, +\code{\link{mlr_pipeops_chunk}}, +\code{\link{mlr_pipeops_classbalancing}}, +\code{\link{mlr_pipeops_classifavg}}, +\code{\link{mlr_pipeops_classweights}}, +\code{\link{mlr_pipeops_colapply}}, +\code{\link{mlr_pipeops_collapsefactors}}, +\code{\link{mlr_pipeops_colroles}}, +\code{\link{mlr_pipeops_copy}}, +\code{\link{mlr_pipeops_datefeatures}}, +\code{\link{mlr_pipeops_encode}}, +\code{\link{mlr_pipeops_encodeimpact}}, +\code{\link{mlr_pipeops_encodelmer}}, +\code{\link{mlr_pipeops_featureunion}}, +\code{\link{mlr_pipeops_filter}}, +\code{\link{mlr_pipeops_fixfactors}}, +\code{\link{mlr_pipeops_histbin}}, +\code{\link{mlr_pipeops_ica}}, +\code{\link{mlr_pipeops_imputeconstant}}, +\code{\link{mlr_pipeops_imputehist}}, +\code{\link{mlr_pipeops_imputelearner}}, +\code{\link{mlr_pipeops_imputemean}}, +\code{\link{mlr_pipeops_imputemedian}}, +\code{\link{mlr_pipeops_imputemode}}, +\code{\link{mlr_pipeops_imputeoor}}, +\code{\link{mlr_pipeops_imputesample}}, +\code{\link{mlr_pipeops_kernelpca}}, +\code{\link{mlr_pipeops_learner}}, +\code{\link{mlr_pipeops_missind}}, +\code{\link{mlr_pipeops_modelmatrix}}, +\code{\link{mlr_pipeops_multiplicityexply}}, +\code{\link{mlr_pipeops_multiplicityimply}}, +\code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nmf}}, +\code{\link{mlr_pipeops_nop}}, +\code{\link{mlr_pipeops_ovrsplit}}, +\code{\link{mlr_pipeops_ovrunite}}, +\code{\link{mlr_pipeops_pca}}, +\code{\link{mlr_pipeops_proxy}}, +\code{\link{mlr_pipeops_quantilebin}}, +\code{\link{mlr_pipeops_randomprojection}}, +\code{\link{mlr_pipeops_randomresponse}}, +\code{\link{mlr_pipeops_regravg}}, +\code{\link{mlr_pipeops_removeconstants}}, +\code{\link{mlr_pipeops_renamecolumns}}, +\code{\link{mlr_pipeops_replicate}}, +\code{\link{mlr_pipeops_rowapply}}, +\code{\link{mlr_pipeops_scale}}, +\code{\link{mlr_pipeops_scalemaxabs}}, +\code{\link{mlr_pipeops_scalerange}}, +\code{\link{mlr_pipeops_select}}, +\code{\link{mlr_pipeops_smote}}, +\code{\link{mlr_pipeops_smotenc}}, +\code{\link{mlr_pipeops_spatialsign}}, +\code{\link{mlr_pipeops_subsample}}, +\code{\link{mlr_pipeops_targetinvert}}, +\code{\link{mlr_pipeops_targetmutate}}, +\code{\link{mlr_pipeops_targettrafoscalerange}}, +\code{\link{mlr_pipeops_textvectorizer}}, +\code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, +\code{\link{mlr_pipeops_tunethreshold}}, +\code{\link{mlr_pipeops_unbranch}}, +\code{\link{mlr_pipeops_updatetarget}}, +\code{\link{mlr_pipeops_vtreat}}, +\code{\link{mlr_pipeops_yeojohnson}} +} +\concept{PipeOps} diff --git a/man/mlr_pipeops_nmf.Rd b/man/mlr_pipeops_nmf.Rd index 4c6e01e68..95332aedf 100644 --- a/man/mlr_pipeops_nmf.Rd +++ b/man/mlr_pipeops_nmf.Rd @@ -170,6 +170,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, \code{\link{mlr_pipeops_ovrunite}}, @@ -196,6 +197,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_nop.Rd b/man/mlr_pipeops_nop.Rd index e03b6b128..c5ada4ead 100644 --- a/man/mlr_pipeops_nop.Rd +++ b/man/mlr_pipeops_nop.Rd @@ -119,6 +119,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_ovrsplit}}, \code{\link{mlr_pipeops_ovrunite}}, @@ -145,6 +146,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_ovrsplit.Rd b/man/mlr_pipeops_ovrsplit.Rd index 3ced7de26..48711b6b6 100644 --- a/man/mlr_pipeops_ovrsplit.Rd +++ b/man/mlr_pipeops_ovrsplit.Rd @@ -136,6 +136,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrunite}}, @@ -162,6 +163,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_ovrunite.Rd b/man/mlr_pipeops_ovrunite.Rd index a44f8e084..e24fe4c8b 100644 --- a/man/mlr_pipeops_ovrunite.Rd +++ b/man/mlr_pipeops_ovrunite.Rd @@ -131,6 +131,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -157,6 +158,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_pca.Rd b/man/mlr_pipeops_pca.Rd index 7b418a298..57b211c53 100644 --- a/man/mlr_pipeops_pca.Rd +++ b/man/mlr_pipeops_pca.Rd @@ -128,6 +128,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -154,6 +155,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_proxy.Rd b/man/mlr_pipeops_proxy.Rd index 2a4f5a2a0..62983a50a 100644 --- a/man/mlr_pipeops_proxy.Rd +++ b/man/mlr_pipeops_proxy.Rd @@ -142,6 +142,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -168,6 +169,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_quantilebin.Rd b/man/mlr_pipeops_quantilebin.Rd index cdd3a2f04..169a46189 100644 --- a/man/mlr_pipeops_quantilebin.Rd +++ b/man/mlr_pipeops_quantilebin.Rd @@ -116,6 +116,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -142,6 +143,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_randomprojection.Rd b/man/mlr_pipeops_randomprojection.Rd index 9fdb7b48c..b175d28cc 100644 --- a/man/mlr_pipeops_randomprojection.Rd +++ b/man/mlr_pipeops_randomprojection.Rd @@ -128,6 +128,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -154,6 +155,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_randomresponse.Rd b/man/mlr_pipeops_randomresponse.Rd index 1043926f5..f6abf31eb 100644 --- a/man/mlr_pipeops_randomresponse.Rd +++ b/man/mlr_pipeops_randomresponse.Rd @@ -145,6 +145,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -171,6 +172,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_regravg.Rd b/man/mlr_pipeops_regravg.Rd index dd345cfb6..c2caf6b06 100644 --- a/man/mlr_pipeops_regravg.Rd +++ b/man/mlr_pipeops_regravg.Rd @@ -131,6 +131,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -157,6 +158,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_removeconstants.Rd b/man/mlr_pipeops_removeconstants.Rd index 0865b6ba2..8f8e58076 100644 --- a/man/mlr_pipeops_removeconstants.Rd +++ b/man/mlr_pipeops_removeconstants.Rd @@ -121,6 +121,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -147,6 +148,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_renamecolumns.Rd b/man/mlr_pipeops_renamecolumns.Rd index dd927fc4a..a229e4688 100644 --- a/man/mlr_pipeops_renamecolumns.Rd +++ b/man/mlr_pipeops_renamecolumns.Rd @@ -120,6 +120,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -146,6 +147,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_replicate.Rd b/man/mlr_pipeops_replicate.Rd index 520633538..2fbd2f941 100644 --- a/man/mlr_pipeops_replicate.Rd +++ b/man/mlr_pipeops_replicate.Rd @@ -113,6 +113,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -139,6 +140,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_rowapply.Rd b/man/mlr_pipeops_rowapply.Rd index 1332ad796..a2d0b05cc 100644 --- a/man/mlr_pipeops_rowapply.Rd +++ b/man/mlr_pipeops_rowapply.Rd @@ -119,6 +119,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -145,6 +146,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_scale.Rd b/man/mlr_pipeops_scale.Rd index cff5f8b79..cd89c5112 100644 --- a/man/mlr_pipeops_scale.Rd +++ b/man/mlr_pipeops_scale.Rd @@ -135,6 +135,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -161,6 +162,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_scalemaxabs.Rd b/man/mlr_pipeops_scalemaxabs.Rd index b5b2a2981..7a116ab1e 100644 --- a/man/mlr_pipeops_scalemaxabs.Rd +++ b/man/mlr_pipeops_scalemaxabs.Rd @@ -110,6 +110,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -136,6 +137,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_scalerange.Rd b/man/mlr_pipeops_scalerange.Rd index 227107f7b..4074f7935 100644 --- a/man/mlr_pipeops_scalerange.Rd +++ b/man/mlr_pipeops_scalerange.Rd @@ -115,6 +115,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -141,6 +142,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_select.Rd b/man/mlr_pipeops_select.Rd index 30f6c1f64..09378f95e 100644 --- a/man/mlr_pipeops_select.Rd +++ b/man/mlr_pipeops_select.Rd @@ -131,6 +131,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -157,6 +158,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_smote.Rd b/man/mlr_pipeops_smote.Rd index c8b71b23a..824d3b331 100644 --- a/man/mlr_pipeops_smote.Rd +++ b/man/mlr_pipeops_smote.Rd @@ -134,6 +134,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -160,6 +161,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_smotenc.Rd b/man/mlr_pipeops_smotenc.Rd index 673772921..b7b321973 100644 --- a/man/mlr_pipeops_smotenc.Rd +++ b/man/mlr_pipeops_smotenc.Rd @@ -143,6 +143,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -169,6 +170,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_spatialsign.Rd b/man/mlr_pipeops_spatialsign.Rd index e330ab4b1..3271ffec9 100644 --- a/man/mlr_pipeops_spatialsign.Rd +++ b/man/mlr_pipeops_spatialsign.Rd @@ -110,6 +110,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -136,6 +137,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_subsample.Rd b/man/mlr_pipeops_subsample.Rd index 9706a3b9b..f0eb2c63b 100644 --- a/man/mlr_pipeops_subsample.Rd +++ b/man/mlr_pipeops_subsample.Rd @@ -125,6 +125,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -151,6 +152,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_targetinvert.Rd b/man/mlr_pipeops_targetinvert.Rd index 53c4ad72b..fcd24816e 100644 --- a/man/mlr_pipeops_targetinvert.Rd +++ b/man/mlr_pipeops_targetinvert.Rd @@ -110,6 +110,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -136,6 +137,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_targetmutate.Rd b/man/mlr_pipeops_targetmutate.Rd index a6cf7d887..1d84ccfa7 100644 --- a/man/mlr_pipeops_targetmutate.Rd +++ b/man/mlr_pipeops_targetmutate.Rd @@ -158,6 +158,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -184,6 +185,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_targettrafoscalerange.Rd b/man/mlr_pipeops_targettrafoscalerange.Rd index 023d2ab88..bf5592cb6 100644 --- a/man/mlr_pipeops_targettrafoscalerange.Rd +++ b/man/mlr_pipeops_targettrafoscalerange.Rd @@ -124,6 +124,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -150,6 +151,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targetmutate}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_textvectorizer.Rd b/man/mlr_pipeops_textvectorizer.Rd index 38adc20ee..bbf4948ed 100644 --- a/man/mlr_pipeops_textvectorizer.Rd +++ b/man/mlr_pipeops_textvectorizer.Rd @@ -224,6 +224,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -250,6 +251,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targetmutate}}, \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_threshold.Rd b/man/mlr_pipeops_threshold.Rd index ee593e6b8..f6c4d32bc 100644 --- a/man/mlr_pipeops_threshold.Rd +++ b/man/mlr_pipeops_threshold.Rd @@ -123,6 +123,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -149,6 +150,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targetmutate}}, \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_tomek.Rd b/man/mlr_pipeops_tomek.Rd new file mode 100644 index 000000000..490f8e929 --- /dev/null +++ b/man/mlr_pipeops_tomek.Rd @@ -0,0 +1,165 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/PipeOpTomek.R +\name{mlr_pipeops_tomek} +\alias{mlr_pipeops_tomek} +\alias{PipeOpTomek} +\title{Tomek Down-Sampling} +\format{ +\code{\link[R6:R6Class]{R6Class}} object inheriting from \code{\link{PipeOpTaskPreproc}}/\code{\link{PipeOp}}. +} +\description{ +Generates a cleaner data set by removing all majority-minority Tomek links. + +The algorithm down-samples the data by removing all pairs of observations that form a Tomek link, +i.e. a pair of observations that are nearest neighbors and belong to different classes. +For this only numeric and integer features are taken into account. These must have no missing values. + +This can only be applied to \link[mlr3:TaskClassif]{classification tasks}. Multiclass classification is supported. + +See \code{\link[themis:tomek]{themis::tomek}} for details. +} +\section{Construction}{ + + +\if{html}{\out{
}}\preformatted{PipeOpTOmek$new(id = "tomek", param_vals = list()) +}\if{html}{\out{
}} +\itemize{ +\item \code{id} :: \code{character(1)}\cr +Identifier of resulting object, default \code{"tomek"}. +\item \code{param_vals} :: named \code{list}\cr +List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction. Default \code{list()}. +} +} + +\section{Input and Output Channels}{ + +Input and output channels are inherited from \code{\link{PipeOpTaskPreproc}}. + +The output during training is the input \code{\link[mlr3:Task]{Task}} with removed rows for pairs of observations that form a Tomek link. +The output during prediction is the unchanged input. +} + +\section{State}{ + +The \verb{$state} is a named \code{list} with the \verb{$state} elements inherited from \code{\link{PipeOpTaskPreproc}}. +} + +\section{Parameters}{ + +The parameters are the parameters inherited from \code{\link{PipeOpTaskPreproc}}. +} + +\section{Fields}{ + +Only fields inherited from \code{\link{PipeOpTaskPreproc}}/\code{\link{PipeOp}}. +} + +\section{Methods}{ + +Only methods inherited from \code{\link{PipeOpTaskPreproc}}/\code{\link{PipeOp}}. +} + +\examples{ +\dontshow{ if (requireNamespace("themis")) \{ } +library("mlr3") + +# Create example task +task = tsk("iris") +task$head() +table(task$data(cols = "Species")) + +# Down-sample data +pop = po("tomek") +tomek_result = pop$train(list(task))[[1]]$data() +nrow(tomek_result) +table(tomek_result$Species) +\dontshow{ \} } +} +\references{ +Tomek I (1976). +\dQuote{Two Modifications of CNN.} +\emph{IEEE Transactions on Systems, Man and Cybernetics}, \bold{6}(11), 769--772. +\doi{10.1109/TSMC.1976.4309452}. +} +\seealso{ +https://mlr-org.com/pipeops.html + +Other PipeOps: +\code{\link{PipeOp}}, +\code{\link{PipeOpEnsemble}}, +\code{\link{PipeOpImpute}}, +\code{\link{PipeOpTargetTrafo}}, +\code{\link{PipeOpTaskPreproc}}, +\code{\link{PipeOpTaskPreprocSimple}}, +\code{\link{mlr_pipeops}}, +\code{\link{mlr_pipeops_adas}}, +\code{\link{mlr_pipeops_blsmote}}, +\code{\link{mlr_pipeops_boxcox}}, +\code{\link{mlr_pipeops_branch}}, +\code{\link{mlr_pipeops_chunk}}, +\code{\link{mlr_pipeops_classbalancing}}, +\code{\link{mlr_pipeops_classifavg}}, +\code{\link{mlr_pipeops_classweights}}, +\code{\link{mlr_pipeops_colapply}}, +\code{\link{mlr_pipeops_collapsefactors}}, +\code{\link{mlr_pipeops_colroles}}, +\code{\link{mlr_pipeops_copy}}, +\code{\link{mlr_pipeops_datefeatures}}, +\code{\link{mlr_pipeops_encode}}, +\code{\link{mlr_pipeops_encodeimpact}}, +\code{\link{mlr_pipeops_encodelmer}}, +\code{\link{mlr_pipeops_featureunion}}, +\code{\link{mlr_pipeops_filter}}, +\code{\link{mlr_pipeops_fixfactors}}, +\code{\link{mlr_pipeops_histbin}}, +\code{\link{mlr_pipeops_ica}}, +\code{\link{mlr_pipeops_imputeconstant}}, +\code{\link{mlr_pipeops_imputehist}}, +\code{\link{mlr_pipeops_imputelearner}}, +\code{\link{mlr_pipeops_imputemean}}, +\code{\link{mlr_pipeops_imputemedian}}, +\code{\link{mlr_pipeops_imputemode}}, +\code{\link{mlr_pipeops_imputeoor}}, +\code{\link{mlr_pipeops_imputesample}}, +\code{\link{mlr_pipeops_kernelpca}}, +\code{\link{mlr_pipeops_learner}}, +\code{\link{mlr_pipeops_missind}}, +\code{\link{mlr_pipeops_modelmatrix}}, +\code{\link{mlr_pipeops_multiplicityexply}}, +\code{\link{mlr_pipeops_multiplicityimply}}, +\code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, +\code{\link{mlr_pipeops_nmf}}, +\code{\link{mlr_pipeops_nop}}, +\code{\link{mlr_pipeops_ovrsplit}}, +\code{\link{mlr_pipeops_ovrunite}}, +\code{\link{mlr_pipeops_pca}}, +\code{\link{mlr_pipeops_proxy}}, +\code{\link{mlr_pipeops_quantilebin}}, +\code{\link{mlr_pipeops_randomprojection}}, +\code{\link{mlr_pipeops_randomresponse}}, +\code{\link{mlr_pipeops_regravg}}, +\code{\link{mlr_pipeops_removeconstants}}, +\code{\link{mlr_pipeops_renamecolumns}}, +\code{\link{mlr_pipeops_replicate}}, +\code{\link{mlr_pipeops_rowapply}}, +\code{\link{mlr_pipeops_scale}}, +\code{\link{mlr_pipeops_scalemaxabs}}, +\code{\link{mlr_pipeops_scalerange}}, +\code{\link{mlr_pipeops_select}}, +\code{\link{mlr_pipeops_smote}}, +\code{\link{mlr_pipeops_smotenc}}, +\code{\link{mlr_pipeops_spatialsign}}, +\code{\link{mlr_pipeops_subsample}}, +\code{\link{mlr_pipeops_targetinvert}}, +\code{\link{mlr_pipeops_targetmutate}}, +\code{\link{mlr_pipeops_targettrafoscalerange}}, +\code{\link{mlr_pipeops_textvectorizer}}, +\code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tunethreshold}}, +\code{\link{mlr_pipeops_unbranch}}, +\code{\link{mlr_pipeops_updatetarget}}, +\code{\link{mlr_pipeops_vtreat}}, +\code{\link{mlr_pipeops_yeojohnson}} +} +\concept{PipeOps} diff --git a/man/mlr_pipeops_tunethreshold.Rd b/man/mlr_pipeops_tunethreshold.Rd index d802a2043..04a47d55a 100644 --- a/man/mlr_pipeops_tunethreshold.Rd +++ b/man/mlr_pipeops_tunethreshold.Rd @@ -153,6 +153,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -180,6 +181,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, \code{\link{mlr_pipeops_vtreat}}, diff --git a/man/mlr_pipeops_unbranch.Rd b/man/mlr_pipeops_unbranch.Rd index 2fc7b2d5e..03cae3768 100644 --- a/man/mlr_pipeops_unbranch.Rd +++ b/man/mlr_pipeops_unbranch.Rd @@ -122,6 +122,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -149,6 +150,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_updatetarget}}, \code{\link{mlr_pipeops_vtreat}}, diff --git a/man/mlr_pipeops_updatetarget.Rd b/man/mlr_pipeops_updatetarget.Rd index 6a73e727e..c06359e07 100644 --- a/man/mlr_pipeops_updatetarget.Rd +++ b/man/mlr_pipeops_updatetarget.Rd @@ -137,6 +137,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -164,6 +165,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_vtreat}}, diff --git a/man/mlr_pipeops_vtreat.Rd b/man/mlr_pipeops_vtreat.Rd index 600504acd..fd33f6fad 100644 --- a/man/mlr_pipeops_vtreat.Rd +++ b/man/mlr_pipeops_vtreat.Rd @@ -190,6 +190,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -217,6 +218,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/man/mlr_pipeops_yeojohnson.Rd b/man/mlr_pipeops_yeojohnson.Rd index 10d1cdd13..d157c79ec 100644 --- a/man/mlr_pipeops_yeojohnson.Rd +++ b/man/mlr_pipeops_yeojohnson.Rd @@ -127,6 +127,7 @@ Other PipeOps: \code{\link{mlr_pipeops_multiplicityexply}}, \code{\link{mlr_pipeops_multiplicityimply}}, \code{\link{mlr_pipeops_mutate}}, +\code{\link{mlr_pipeops_nearmiss}}, \code{\link{mlr_pipeops_nmf}}, \code{\link{mlr_pipeops_nop}}, \code{\link{mlr_pipeops_ovrsplit}}, @@ -154,6 +155,7 @@ Other PipeOps: \code{\link{mlr_pipeops_targettrafoscalerange}}, \code{\link{mlr_pipeops_textvectorizer}}, \code{\link{mlr_pipeops_threshold}}, +\code{\link{mlr_pipeops_tomek}}, \code{\link{mlr_pipeops_tunethreshold}}, \code{\link{mlr_pipeops_unbranch}}, \code{\link{mlr_pipeops_updatetarget}}, diff --git a/tests/testthat/test_pipeop_nearmiss.R b/tests/testthat/test_pipeop_nearmiss.R new file mode 100644 index 000000000..79ce1f7fc --- /dev/null +++ b/tests/testthat/test_pipeop_nearmiss.R @@ -0,0 +1,66 @@ +context("PipeOpNearmiss") + +test_that("PipeOpNearmiss - basic properties", { + skip_if_not_installed("themis") + + task = mlr_tasks$get("wine") + expect_datapreproc_pipeop_class(PipeOpNearmiss, task = task, predict_like_train = FALSE) + +}) + +test_that("PipeOpNearmiss - train works as intended", { + skip_if_not_installed("themis") + + op = PipeOpNearmiss$new() + + # Compare to themis::nearmiss for task with only numeric/integer features + task = mlr_tasks$get("wine") + train_out = op$train(list(task))[[1]]$data() + nearmiss_out = setDT(invoke(themis::nearmiss, df = task$data(), var = task$target_names)) + + expect_equal(train_out, nearmiss_out) + + # Compare to themis::nearmiss for task with uncommon row_ids + task$filter(51:150) + train_out = op$train(list(task))[[1]]$data() + nearmiss_out = setDT(invoke(themis::nearmiss, df = task$data(), var = task$target_names)) + + expect_equal(train_out, nearmiss_out) + + # Compare to themis::nearmiss for task with other features types (which should be ignored) + task = mlr_tasks$get("german_credit") + train_out = op$train(list(task))[[1]]$data() + dt = task$data(cols = c(task$feature_types[type %in% c("integer", "numeric"), id], task$target_names)) + dt_out = setDT(invoke(themis::nearmiss, df = dt, var = task$target_names)) + nearmiss_out = task$data()[dt_out, on = colnames(dt_out)] + + expect_equal(train_out, nearmiss_out) + + # Compare to themis::nearmiss with changed params + task = mlr_tasks$get("wine") + op$param_set$set_values(k = 8, under_ratio = 0.9) + train_out = op$train(list(task))[[1]]$data() + nearmiss_out = setDT(invoke(themis::nearmiss, df = task$data(), var = task$target_names, + k = 8, under_ratio = 0.9)) + + expect_equal(train_out, nearmiss_out) + + op$param_set$set_values(k = 8, under_ratio = 1.1) + train_out = op$train(list(task))[[1]]$data() + nearmiss_out = setDT(invoke(themis::nearmiss, df = task$data(), var = task$target_names, + k = 8, under_ratio = 1.1)) + + expect_equal(train_out, nearmiss_out) + + # Empty task is returned unchanged + task$select(character(0)) + expect_equal( + op$train(list(task))[[1L]], + task + ) + + # PipeOp does not accept tasks that have no integer or numeric feature + task = tsk("breast_cancer") + expect_error(op$train(list(task))) + +}) diff --git a/tests/testthat/test_pipeop_tomek.R b/tests/testthat/test_pipeop_tomek.R new file mode 100644 index 000000000..edb39887b --- /dev/null +++ b/tests/testthat/test_pipeop_tomek.R @@ -0,0 +1,50 @@ +context("PipeOpTomek") + +test_that("PipeOpTomek - basic properties", { + skip_if_not_installed("themis") + + task = mlr_tasks$get("iris") + expect_datapreproc_pipeop_class(PipeOpTomek, task = task, predict_like_train = FALSE) + +}) + +test_that("PipeOpTomek - train works as intended", { + skip_if_not_installed("themis") + + op = PipeOpTomek$new() + + # Compare to themis::tomek for task with only numeric features + task = mlr_tasks$get("iris") + train_out = op$train(list(task))[[1]]$data() + tomek_out = setDT(invoke(themis::tomek, df = task$data(), var = task$target_names)) + + expect_equal(train_out, tomek_out) + + # Compare to themis::tomek for task with uncommon row_ids + task$filter(51:150) + train_out = op$train(list(task))[[1]]$data() + tomek_out = setDT(invoke(themis::tomek, df = task$data(), var = task$target_names)) + + expect_equal(train_out, tomek_out) + + # Compare to themis::tomek for task with other features types (which should be ignored) + task = mlr_tasks$get("german_credit") + train_out = op$train(list(task))[[1]]$data() + dt = task$data(cols = c(task$feature_types[type %in% c("integer", "numeric"), id], task$target_names)) + dt_out = setDT(invoke(themis::tomek, df = dt, var = task$target_names)) + tomek_out = task$data()[dt_out, on = colnames(dt_out)] + + expect_equal(train_out, tomek_out) + + # Empty task is returned unchanged + task$select(character(0)) + expect_equal( + op$train(list(task))[[1L]], + task + ) + + # PipeOp does not accept tasks that have no integer or numeric feature + task = tsk("breast_cancer") + expect_error(op$train(list(task))) + +})