diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 000000000..c72441dc5
Binary files /dev/null and b/.DS_Store differ
diff --git a/DESCRIPTION b/DESCRIPTION
index ebd01913c..346dddc49 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -101,7 +101,8 @@ Suggests:
future,
htmlwidgets,
ranger,
- themis
+ themis,
+ splines
ByteCompile: true
Encoding: UTF-8
Config/testthat/edition: 3
@@ -129,6 +130,7 @@ Collate:
'PipeOpTaskPreproc.R'
'PipeOpADAS.R'
'PipeOpBLSmote.R'
+ 'PipeOpBasisSplines.R'
'PipeOpBoxCox.R'
'PipeOpBranch.R'
'PipeOpChunk.R'
diff --git a/NAMESPACE b/NAMESPACE
index 1a2ae274e..73091720f 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -99,6 +99,7 @@ export(NO_OP)
export(PipeOp)
export(PipeOpADAS)
export(PipeOpBLSmote)
+export(PipeOpBasisSplines)
export(PipeOpBoxCox)
export(PipeOpBranch)
export(PipeOpChunk)
diff --git a/R/PipeOpBasisSplines.R b/R/PipeOpBasisSplines.R
new file mode 100644
index 000000000..61276f7e8
--- /dev/null
+++ b/R/PipeOpBasisSplines.R
@@ -0,0 +1,173 @@
+#' @title Transforms Columns using Splines Methods by Constructing a Model Matrix
+#'
+#' @usage NULL
+#' @name mlr_pipeops_basissplines
+#' @format [`R6Class`][R6::R6Class] object inheriting from [`PipeOpTaskPreprocSimple`]/[`PipeOpTaskPreproc`]/[`PipeOp`].
+#'
+#' @description
+#' Transforms Columns using Splines Methods by Constructing a Model Matrix.
+#'
+#' @section Construction:
+#' ```
+#' po("basissplines", param_vals = list())
+#' ```
+#'
+#' * `id` :: `character(1)`\cr
+#' Identifier of resulting object, default `"basissplines"`.
+#' * `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 is the input [`Task`][mlr3::Task] with the selected columns transformed according to the specified Splines Method.
+#'
+#' @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:
+#' * `factor` :: `character(1)` \cr
+#' "Polynomial" when polynomial splines are applied [`splines::bs`] or
+#' "Cubic" when natural cubic splines are applied [`splines::bs`].
+#' Default is "polynomial".
+#' * `df` :: `integer(1)` \cr
+#' Number of degrees of freedom for calculation of splines basis matrix.
+#' Default is NULL.
+#'
+#' @section Internals:
+#' For creating the Splines uses the [`splines::bs`]/[`splines::ns`] function.
+#' Uses the [`stats::model.matrix()`] function.
+#'
+#' @section Fields:
+#' Only fields inherited from [`PipeOp`].
+#'
+#' @section Methods:
+#' Only methods inherited from [`PipeOpTaskPreprocSimple`]/[`PipeOpTaskPreproc`]/[`PipeOp`].
+#'
+#' @examples
+#' library("mlr3")
+#'
+#' task = tsk("iris")
+#' pop = po("basissplines")
+#'
+#' pop$train(list(task))[[1]]$data()
+#'
+#' pop$state
+#' @family PipeOps
+#' @template seealso_pipeopslist
+#' @include PipeOpTaskPreproc.R
+#' @export
+
+PipeOpBasisSplines = R6Class("PipeOpBasisSplines",
+ inherit = PipeOpTaskPreprocSimple,
+ public = list(
+ initialize = function(id = "basissplines", param_vals = list()) {
+ ps = ps(
+ factor = p_fct(levels = c("polynomial", "cubic"), init = "polynomial", tags = c("train", "basissplines", "required")),
+ df = p_int(lower = 1, upper = Inf, special_vals = list(NULL), init = NULL, tags = c("train", "basissplines")),
+ degree = p_int(lower = 1, upper = Inf, depends = factor == "polynomial", tags = c("train", "basissplines"))
+ )
+ super$initialize(id = id, param_set = ps, param_vals = param_vals)
+ }
+ ),
+ private = list(
+ .transform_dt = function(dt, levels) {
+ #browser()
+ pv = self$param_set$get_values(tags = "basissplines")
+ single_string = mlr3misc::invoke(.f = paste0, .args = list(if (pv$factor == "polynomial") "splines::bs(dt[[" else "splines::ns(dt[[", seq_along(dt), "]]", if (!is.null(pv$df)) " , df = ", pv$df, if (!is.null(pv$degree)) ", degree = ", pv$degree, ")"))
+ string = paste(" ~ ", paste(single_string, collapse = " + "))
+ result = as.data.frame(stats::model.matrix(formula(string), data = dt))
+ max_df = as.numeric(max(regmatches(colnames(result), regexpr("[0-9]+$", colnames(result)))))
+ k = 1
+ for (j in colnames(dt)) {
+ for (i in seq_len(max_df)) {
+ colnames(result)[k + 1] = paste0("splines.", j, ".", tail(strsplit(colnames(result)[[k + 1]], "")[[1]], 1))
+ k = k + 1
+ }
+ }
+ result
+ }
+ )
+)
+
+mlr_pipeops$add("basissplines", PipeOpBasisSplines)
+
+# po = po("basissplines")
+# po_result = po$train(list(tsk("iris")))[[1]]$data()
+
+# po_result_calc = stats::model.matrix(Species ~ splines::bs(Sepal.Length) + splines::bs(Sepal.Width) + splines::bs(Petal.Length) + splines::bs(Petal.Width), data = iris)
+
+# podf3 = po("basissplines", df = 3)
+# podf3_result = podf3$train(list(tsk("iris")))[[1]]$data()
+# podf3_result_calc = stats::model.matrix(Species ~ splines::bs(Sepal.Length, df = 3) + splines::bs(Sepal.Width, df = 3) + splines::bs(Petal.Length, df = 3) + splines::bs(Petal.Width, df = 3), data = iris)
+
+# podf4 = po("basissplines", df = 4)
+# podf4_result = podf4$train(list(tsk("iris")))[[1]]$data()
+# podf4_result_calc = stats::model.matrix(Species ~ splines::bs(Sepal.Length, df = 4) + splines::bs(Sepal.Width, df = 4) + splines::bs(Petal.Length, df = 4) + splines::bs(Petal.Width, df = 4), data = iris)
+
+# podf7 = po("basissplines", df = 7)
+# podf7_result = podf7$train(list(tsk("iris")))[[1]]$data()
+# podf7_result_calc = stats::model.matrix(Species ~ splines::bs(Sepal.Length, df = 7) + splines::bs(Sepal.Width, df = 7) + splines::bs(Petal.Length, df = 7) + splines::bs(Petal.Width, df = 7), data = iris)
+
+# podeg3df2 = po("basissplines", degree = 3, df = 2)
+# podeg3df2_result = podeg3df2$train(list(tsk("iris")))[[1]]$data()
+# podeg3df2_result_calc = stats::model.matrix(Species ~ splines::bs(Sepal.Length, degree = 3, df = 2) + splines::bs(Sepal.Width, degree = 3, df = 2) + splines::bs(Petal.Length, degree = 3, df = 2) + splines::bs(Petal.Width, degree = 3, df = 2), data = iris)
+
+
+# podeg5df8 = po("basissplines", degree = 5, df = 8)
+# podeg5df8_result = podeg5df8$train(list(tsk("iris")))[[1]]$data()
+# podeg5df8_result_calc = stats::model.matrix(Species ~ splines::bs(Sepal.Length, degree = 5, df = 8) + splines::bs(Sepal.Width, degree = 5, df = 8) + splines::bs(Petal.Length, degree = 5, df = 8) + splines::bs(Petal.Width, degree = 5, df = 8), data = iris)
+
+# pons = po("basissplines", factor = "cubic")
+# pons_result = pons$train(list(tsk("iris")))[[1]]$data()
+# pons_result_calc = stats::model.matrix(Species ~ splines::ns(Sepal.Length) + splines::ns(Sepal.Width) + splines::ns(Petal.Length) + splines::ns(Petal.Width), data = iris)
+
+# pons_error = po("basissplines", factor = "cubic", df = 3, degree = 4)
+
+# ponsdf5 = po("basissplines", factor = "cubic", df = 5)
+# ponsdf5_result = ponsdf5$train(list(tsk("iris")))[[1]]$data()
+# ponsdf5_result_calc = stats::model.matrix(Species ~ splines::ns(Sepal.Length, df = 5) + splines::ns(Sepal.Width, df = 5) + splines::ns(Petal.Length, df = 5) + splines::ns(Petal.Width, df = 5), data = iris)
+
+
+
+
+# selecting columns
+# sel_cyl = selector_grep("cyl|disp|am")
+# pos = po("basissplines", affect_columns = sel_cyl)
+# pos$train(list(tsk("mtcars")))[[1]]$data()
+
+# pop = po("basissplines", df = 5)
+# pop$train(list(tsk("mtcars")))[[1]]$data()
+
+# poc = po("basissplines", df = 4, factor = "cubic")
+# poc$train(list(tsk("mtcars")))[[1]]$data()
+
+# df als hyperparameterf
+# das ziel ist es dass wir diese model.matrix für alle features kriegen
+# original features behalten dann feature_union ==> egaluser verantwortung
+
+
+#splines.cyl.1
+
+# task = tsk("mtcars")
+
+# list(task)[[1]]$data()
+# pop = po("modelmatrix", formula = ~ splines::ns(task$data()$cyl, 2) + splines::ns(task$data()$hp, 2) +
+# splines::ns(task$data()$disp, 2) + splines::ns(task$data()$drat, 2) + splines::ns(task$data()$wt, 2) +
+# splines::ns(task$data()$qsec, 2) + splines::ns(task$data()$vs, 2) + splines::ns(task$data()$am, 2) +
+# splines::ns(task$data()$gear, 2) + splines::ns(task$data()$carb, 2))
+# pop$train(list(task))[[1]]$data()
+
+# pob = po("modelmatrix", formula = ~ splines::bs(task$data()$cyl, 2) + splines::bs(task$data()$hp, 2) +
+# splines::bs(task$data()$disp, 2) + splines::bs(task$data()$drat, 2) + splines::bs(task$data()$wt, 2) +
+# splines::bs(task$data()$qsec, 2) + splines::bs(task$data()$vs, 2) + splines::bs(task$data()$am, 2) +
+# splines::bs(task$data()$gear, 2) + splines::bs(task$data()$carb, 2))
+
+# pob$train(list(task))[[1]]$data()
+
+
+# fit <- lm(mpg ~ splines::ns(cyl, df = 2) + splines::ns(hp, df = 2), data = mtcars)
+# model.matrix(fit) # this is what we want to get as a result from PipeOpSplineBasis
+
+# as.data.frame(stats::model.matrix(mpg ~ splines::ns(cyl, 2) + splines::ns(task$data()$hp, 2), data = mtcars))
diff --git a/man/PipeOp.Rd b/man/PipeOp.Rd
index f5921c3a0..30ead24b3 100644
--- a/man/PipeOp.Rd
+++ b/man/PipeOp.Rd
@@ -286,6 +286,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/PipeOpEncodePL.Rd b/man/PipeOpEncodePL.Rd
index 4407d32a0..d2192657a 100644
--- a/man/PipeOpEncodePL.Rd
+++ b/man/PipeOpEncodePL.Rd
@@ -110,6 +110,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/PipeOpEnsemble.Rd b/man/PipeOpEnsemble.Rd
index 415859086..8649e8ec6 100644
--- a/man/PipeOpEnsemble.Rd
+++ b/man/PipeOpEnsemble.Rd
@@ -107,6 +107,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/PipeOpImpute.Rd b/man/PipeOpImpute.Rd
index b8a2aa73f..fe397c494 100644
--- a/man/PipeOpImpute.Rd
+++ b/man/PipeOpImpute.Rd
@@ -173,6 +173,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/PipeOpTargetTrafo.Rd b/man/PipeOpTargetTrafo.Rd
index 99d957a39..73b30fa8a 100644
--- a/man/PipeOpTargetTrafo.Rd
+++ b/man/PipeOpTargetTrafo.Rd
@@ -146,6 +146,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/PipeOpTaskPreproc.Rd b/man/PipeOpTaskPreproc.Rd
index 75afdab08..a31f62dc1 100644
--- a/man/PipeOpTaskPreproc.Rd
+++ b/man/PipeOpTaskPreproc.Rd
@@ -203,6 +203,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/PipeOpTaskPreprocSimple.Rd b/man/PipeOpTaskPreprocSimple.Rd
index 9463f488d..91eb94dc1 100644
--- a/man/PipeOpTaskPreprocSimple.Rd
+++ b/man/PipeOpTaskPreprocSimple.Rd
@@ -146,6 +146,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreproc}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops.Rd b/man/mlr_pipeops.Rd
index c41449bbe..ef26a86dd 100644
--- a/man/mlr_pipeops.Rd
+++ b/man/mlr_pipeops.Rd
@@ -98,6 +98,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreproc}},
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_adas.Rd b/man/mlr_pipeops_adas.Rd
index 33a094003..27c549407 100644
--- a/man/mlr_pipeops_adas.Rd
+++ b/man/mlr_pipeops_adas.Rd
@@ -107,6 +107,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreproc}},
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_basissplines.Rd b/man/mlr_pipeops_basissplines.Rd
new file mode 100644
index 000000000..efa562fb6
--- /dev/null
+++ b/man/mlr_pipeops_basissplines.Rd
@@ -0,0 +1,166 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/PipeOpBasisSplines.R
+\name{mlr_pipeops_basissplines}
+\alias{mlr_pipeops_basissplines}
+\alias{PipeOpBasisSplines}
+\title{Transforms Columns using Splines Methods by Constructing a Model Matrix}
+\format{
+\code{\link[R6:R6Class]{R6Class}} object inheriting from \code{\link{PipeOpTaskPreprocSimple}}/\code{\link{PipeOpTaskPreproc}}/\code{\link{PipeOp}}.
+}
+\description{
+Transforms Columns using Splines Methods by Constructing a Model Matrix.
+}
+\section{Construction}{
+
+
+\if{html}{\out{
}}\preformatted{po("basissplines", param_vals = list())
+}\if{html}{\out{
}}
+\itemize{
+\item \code{id} :: \code{character(1)}\cr
+Identifier of resulting object, default \code{"basissplines"}.
+\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 is the input \code{\link[mlr3:Task]{Task}} with the selected columns transformed according to the specified Splines Method.
+}
+
+\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{hp} :: \code{character(1)} \cr
+"Polynomial" when polynomial splines are applied \code{\link[splines:bs]{splines::bs}} or
+"Cubic" when natural cubic splines are applied \code{\link[splines:bs]{splines::bs}}.
+Default is "polynomial".
+\item \code{df} :: \code{integer(1)} \cr
+Number of degrees of freedom for calculation of splines basis matrix.
+Default is NULL.
+}
+}
+
+\section{Internals}{
+
+For creating the Splines uses the \code{\link[splines:bs]{splines::bs}}/\code{\link[splines:ns]{splines::ns}} function.
+Uses the \code{\link[stats:model.matrix]{stats::model.matrix()}} function.
+}
+
+\section{Fields}{
+
+Only fields inherited from \code{\link{PipeOp}}.
+}
+
+\section{Methods}{
+
+Only methods inherited from \code{\link{PipeOpTaskPreprocSimple}}/\code{\link{PipeOpTaskPreproc}}/\code{\link{PipeOp}}.
+}
+
+\examples{
+library("mlr3")
+
+task = tsk("iris")
+pop = po("basissplines")
+
+pop$train(list(task))[[1]]$data()
+
+pop$state
+}
+\seealso{
+https://mlr-org.com/pipeops.html
+
+Other PipeOps:
+\code{\link{PipeOp}},
+\code{\link{PipeOpEncodePL}},
+\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_decode}},
+\code{\link{mlr_pipeops_encode}},
+\code{\link{mlr_pipeops_encodeimpact}},
+\code{\link{mlr_pipeops_encodelmer}},
+\code{\link{mlr_pipeops_encodeplquantiles}},
+\code{\link{mlr_pipeops_encodepltree}},
+\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_learner_pi_cvplus}},
+\code{\link{mlr_pipeops_learner_quantiles}},
+\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_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_blsmote.Rd b/man/mlr_pipeops_blsmote.Rd
index 08c6b0d8d..59ff3b9f0 100644
--- a/man/mlr_pipeops_blsmote.Rd
+++ b/man/mlr_pipeops_blsmote.Rd
@@ -113,6 +113,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
\code{\link{mlr_pipeops_chunk}},
diff --git a/man/mlr_pipeops_boxcox.Rd b/man/mlr_pipeops_boxcox.Rd
index 1b672f56c..cf498a7d7 100644
--- a/man/mlr_pipeops_boxcox.Rd
+++ b/man/mlr_pipeops_boxcox.Rd
@@ -97,6 +97,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_branch}},
\code{\link{mlr_pipeops_chunk}},
diff --git a/man/mlr_pipeops_branch.Rd b/man/mlr_pipeops_branch.Rd
index db449402b..bbc3e3fa8 100644
--- a/man/mlr_pipeops_branch.Rd
+++ b/man/mlr_pipeops_branch.Rd
@@ -110,6 +110,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_chunk}},
diff --git a/man/mlr_pipeops_chunk.Rd b/man/mlr_pipeops_chunk.Rd
index c82b399bf..378bab125 100644
--- a/man/mlr_pipeops_chunk.Rd
+++ b/man/mlr_pipeops_chunk.Rd
@@ -89,6 +89,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_classbalancing.Rd b/man/mlr_pipeops_classbalancing.Rd
index fd95b8cdc..9a3aaa6d7 100644
--- a/man/mlr_pipeops_classbalancing.Rd
+++ b/man/mlr_pipeops_classbalancing.Rd
@@ -131,6 +131,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_classifavg.Rd b/man/mlr_pipeops_classifavg.Rd
index beb232e55..84a146c11 100644
--- a/man/mlr_pipeops_classifavg.Rd
+++ b/man/mlr_pipeops_classifavg.Rd
@@ -104,6 +104,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_classweights.Rd b/man/mlr_pipeops_classweights.Rd
index 678b0c4fa..e90ea90c1 100644
--- a/man/mlr_pipeops_classweights.Rd
+++ b/man/mlr_pipeops_classweights.Rd
@@ -109,6 +109,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_colapply.Rd b/man/mlr_pipeops_colapply.Rd
index 11b1280c4..743f9cc25 100644
--- a/man/mlr_pipeops_colapply.Rd
+++ b/man/mlr_pipeops_colapply.Rd
@@ -119,6 +119,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_collapsefactors.Rd b/man/mlr_pipeops_collapsefactors.Rd
index 60044c35b..4a938e933 100644
--- a/man/mlr_pipeops_collapsefactors.Rd
+++ b/man/mlr_pipeops_collapsefactors.Rd
@@ -122,6 +122,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_colroles.Rd b/man/mlr_pipeops_colroles.Rd
index 6fe93c31a..a377755bc 100644
--- a/man/mlr_pipeops_colroles.Rd
+++ b/man/mlr_pipeops_colroles.Rd
@@ -100,6 +100,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_copy.Rd b/man/mlr_pipeops_copy.Rd
index be1a51822..d1ddf06c4 100644
--- a/man/mlr_pipeops_copy.Rd
+++ b/man/mlr_pipeops_copy.Rd
@@ -105,6 +105,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_datefeatures.Rd b/man/mlr_pipeops_datefeatures.Rd
index 8fd0d42f8..4a5ba2efb 100644
--- a/man/mlr_pipeops_datefeatures.Rd
+++ b/man/mlr_pipeops_datefeatures.Rd
@@ -128,6 +128,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_decode.Rd b/man/mlr_pipeops_decode.Rd
index 76b08510b..2b9026f42 100644
--- a/man/mlr_pipeops_decode.Rd
+++ b/man/mlr_pipeops_decode.Rd
@@ -165,6 +165,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_encode.Rd b/man/mlr_pipeops_encode.Rd
index bc286e459..68a488fd3 100644
--- a/man/mlr_pipeops_encode.Rd
+++ b/man/mlr_pipeops_encode.Rd
@@ -126,6 +126,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_encodeimpact.Rd b/man/mlr_pipeops_encodeimpact.Rd
index 33776ca10..c0b9204d2 100644
--- a/man/mlr_pipeops_encodeimpact.Rd
+++ b/man/mlr_pipeops_encodeimpact.Rd
@@ -110,6 +110,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_encodelmer.Rd b/man/mlr_pipeops_encodelmer.Rd
index 33cb75759..35031c4b6 100644
--- a/man/mlr_pipeops_encodelmer.Rd
+++ b/man/mlr_pipeops_encodelmer.Rd
@@ -122,6 +122,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_encodeplquantiles.Rd b/man/mlr_pipeops_encodeplquantiles.Rd
index 700611995..1b13e3e9f 100644
--- a/man/mlr_pipeops_encodeplquantiles.Rd
+++ b/man/mlr_pipeops_encodeplquantiles.Rd
@@ -115,6 +115,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_encodepltree.Rd b/man/mlr_pipeops_encodepltree.Rd
index 2053eb2b5..692a421d9 100644
--- a/man/mlr_pipeops_encodepltree.Rd
+++ b/man/mlr_pipeops_encodepltree.Rd
@@ -130,6 +130,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_featureunion.Rd b/man/mlr_pipeops_featureunion.Rd
index de03f667a..39cab3958 100644
--- a/man/mlr_pipeops_featureunion.Rd
+++ b/man/mlr_pipeops_featureunion.Rd
@@ -123,6 +123,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_filter.Rd b/man/mlr_pipeops_filter.Rd
index 308e66011..1aa6d0aa1 100644
--- a/man/mlr_pipeops_filter.Rd
+++ b/man/mlr_pipeops_filter.Rd
@@ -152,6 +152,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_fixfactors.Rd b/man/mlr_pipeops_fixfactors.Rd
index 2eba59b67..02facdfc0 100644
--- a/man/mlr_pipeops_fixfactors.Rd
+++ b/man/mlr_pipeops_fixfactors.Rd
@@ -83,6 +83,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_histbin.Rd b/man/mlr_pipeops_histbin.Rd
index 3baeeb225..0f7ef008e 100644
--- a/man/mlr_pipeops_histbin.Rd
+++ b/man/mlr_pipeops_histbin.Rd
@@ -95,6 +95,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_ica.Rd b/man/mlr_pipeops_ica.Rd
index 6de1101d2..a17d6f9cb 100644
--- a/man/mlr_pipeops_ica.Rd
+++ b/man/mlr_pipeops_ica.Rd
@@ -123,6 +123,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_imputeconstant.Rd b/man/mlr_pipeops_imputeconstant.Rd
index c2d42877b..b5f5abe34 100644
--- a/man/mlr_pipeops_imputeconstant.Rd
+++ b/man/mlr_pipeops_imputeconstant.Rd
@@ -103,6 +103,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_imputehist.Rd b/man/mlr_pipeops_imputehist.Rd
index a53263e3e..0a7322fb0 100644
--- a/man/mlr_pipeops_imputehist.Rd
+++ b/man/mlr_pipeops_imputehist.Rd
@@ -89,6 +89,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_imputelearner.Rd b/man/mlr_pipeops_imputelearner.Rd
index fb7c920a9..cbac8cc25 100644
--- a/man/mlr_pipeops_imputelearner.Rd
+++ b/man/mlr_pipeops_imputelearner.Rd
@@ -128,6 +128,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_imputemean.Rd b/man/mlr_pipeops_imputemean.Rd
index a4b33fa0f..194b60ef9 100644
--- a/man/mlr_pipeops_imputemean.Rd
+++ b/man/mlr_pipeops_imputemean.Rd
@@ -82,6 +82,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_imputemedian.Rd b/man/mlr_pipeops_imputemedian.Rd
index 8655e1ecc..9403aa358 100644
--- a/man/mlr_pipeops_imputemedian.Rd
+++ b/man/mlr_pipeops_imputemedian.Rd
@@ -82,6 +82,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_imputemode.Rd b/man/mlr_pipeops_imputemode.Rd
index b35b83b13..424f825c1 100644
--- a/man/mlr_pipeops_imputemode.Rd
+++ b/man/mlr_pipeops_imputemode.Rd
@@ -89,6 +89,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_imputeoor.Rd b/man/mlr_pipeops_imputeoor.Rd
index 187c23acf..0708c63b5 100644
--- a/man/mlr_pipeops_imputeoor.Rd
+++ b/man/mlr_pipeops_imputeoor.Rd
@@ -140,6 +140,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_imputesample.Rd b/man/mlr_pipeops_imputesample.Rd
index e80476851..aba68ced6 100644
--- a/man/mlr_pipeops_imputesample.Rd
+++ b/man/mlr_pipeops_imputesample.Rd
@@ -84,6 +84,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_kernelpca.Rd b/man/mlr_pipeops_kernelpca.Rd
index b18f5806f..2bd269135 100644
--- a/man/mlr_pipeops_kernelpca.Rd
+++ b/man/mlr_pipeops_kernelpca.Rd
@@ -98,6 +98,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_learner.Rd b/man/mlr_pipeops_learner.Rd
index aab63683b..bf06c1bbc 100644
--- a/man/mlr_pipeops_learner.Rd
+++ b/man/mlr_pipeops_learner.Rd
@@ -124,6 +124,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_learner_pi_cvplus.Rd b/man/mlr_pipeops_learner_pi_cvplus.Rd
index 188718a80..b5482745c 100644
--- a/man/mlr_pipeops_learner_pi_cvplus.Rd
+++ b/man/mlr_pipeops_learner_pi_cvplus.Rd
@@ -130,6 +130,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_learner_quantiles.Rd b/man/mlr_pipeops_learner_quantiles.Rd
index 88244f271..71ff083b5 100644
--- a/man/mlr_pipeops_learner_quantiles.Rd
+++ b/man/mlr_pipeops_learner_quantiles.Rd
@@ -115,6 +115,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_missind.Rd b/man/mlr_pipeops_missind.Rd
index 578044460..0bd90bb70 100644
--- a/man/mlr_pipeops_missind.Rd
+++ b/man/mlr_pipeops_missind.Rd
@@ -107,6 +107,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_modelmatrix.Rd b/man/mlr_pipeops_modelmatrix.Rd
index f13f6f6e0..4c32ddde3 100644
--- a/man/mlr_pipeops_modelmatrix.Rd
+++ b/man/mlr_pipeops_modelmatrix.Rd
@@ -88,6 +88,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_multiplicityexply.Rd b/man/mlr_pipeops_multiplicityexply.Rd
index 66f591560..7b838c7ce 100644
--- a/man/mlr_pipeops_multiplicityexply.Rd
+++ b/man/mlr_pipeops_multiplicityexply.Rd
@@ -89,6 +89,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_multiplicityimply.Rd b/man/mlr_pipeops_multiplicityimply.Rd
index 2ac6cce80..045e08044 100644
--- a/man/mlr_pipeops_multiplicityimply.Rd
+++ b/man/mlr_pipeops_multiplicityimply.Rd
@@ -95,6 +95,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_mutate.Rd b/man/mlr_pipeops_mutate.Rd
index 8adb36b74..dde4de93e 100644
--- a/man/mlr_pipeops_mutate.Rd
+++ b/man/mlr_pipeops_mutate.Rd
@@ -100,6 +100,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_nearmiss.Rd b/man/mlr_pipeops_nearmiss.Rd
index 8d4898a66..4529a54ef 100644
--- a/man/mlr_pipeops_nearmiss.Rd
+++ b/man/mlr_pipeops_nearmiss.Rd
@@ -102,6 +102,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_nmf.Rd b/man/mlr_pipeops_nmf.Rd
index c7b29b64c..ce48671fa 100644
--- a/man/mlr_pipeops_nmf.Rd
+++ b/man/mlr_pipeops_nmf.Rd
@@ -140,6 +140,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_nop.Rd b/man/mlr_pipeops_nop.Rd
index 7526ba53d..546122264 100644
--- a/man/mlr_pipeops_nop.Rd
+++ b/man/mlr_pipeops_nop.Rd
@@ -85,6 +85,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_ovrsplit.Rd b/man/mlr_pipeops_ovrsplit.Rd
index 062e086f8..59a91b883 100644
--- a/man/mlr_pipeops_ovrsplit.Rd
+++ b/man/mlr_pipeops_ovrsplit.Rd
@@ -102,6 +102,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_ovrunite.Rd b/man/mlr_pipeops_ovrunite.Rd
index 3ce033902..965a13c31 100644
--- a/man/mlr_pipeops_ovrunite.Rd
+++ b/man/mlr_pipeops_ovrunite.Rd
@@ -97,6 +97,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_pca.Rd b/man/mlr_pipeops_pca.Rd
index df34f6be2..04e4004ea 100644
--- a/man/mlr_pipeops_pca.Rd
+++ b/man/mlr_pipeops_pca.Rd
@@ -3,12 +3,12 @@
\name{mlr_pipeops_pca}
\alias{mlr_pipeops_pca}
\alias{PipeOpPCA}
-\title{Principle Component Analysis}
+\title{Principal Component Analysis}
\format{
\code{\link[R6:R6Class]{R6Class}} object inheriting from \code{\link{PipeOpTaskPreproc}}/\code{\link{PipeOp}}.
}
\description{
-Extracts principle components from data. Only affects numerical features.
+Extracts principal components from data. Only affects numerical features.
See \code{\link[stats:prcomp]{stats::prcomp()}} for details.
}
\section{Construction}{
@@ -99,6 +99,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_proxy.Rd b/man/mlr_pipeops_proxy.Rd
index d1b92cf65..66f40eeb9 100644
--- a/man/mlr_pipeops_proxy.Rd
+++ b/man/mlr_pipeops_proxy.Rd
@@ -107,6 +107,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_quantilebin.Rd b/man/mlr_pipeops_quantilebin.Rd
index 3570d0503..ba3b5b9fd 100644
--- a/man/mlr_pipeops_quantilebin.Rd
+++ b/man/mlr_pipeops_quantilebin.Rd
@@ -87,6 +87,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_randomprojection.Rd b/man/mlr_pipeops_randomprojection.Rd
index 486c91d5f..fd941ea28 100644
--- a/man/mlr_pipeops_randomprojection.Rd
+++ b/man/mlr_pipeops_randomprojection.Rd
@@ -99,6 +99,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_randomresponse.Rd b/man/mlr_pipeops_randomresponse.Rd
index e3331d268..031a48273 100644
--- a/man/mlr_pipeops_randomresponse.Rd
+++ b/man/mlr_pipeops_randomresponse.Rd
@@ -111,6 +111,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_regravg.Rd b/man/mlr_pipeops_regravg.Rd
index 76fac8eb0..90f7e2426 100644
--- a/man/mlr_pipeops_regravg.Rd
+++ b/man/mlr_pipeops_regravg.Rd
@@ -97,6 +97,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_removeconstants.Rd b/man/mlr_pipeops_removeconstants.Rd
index 3da03d8ce..cb1aa976a 100644
--- a/man/mlr_pipeops_removeconstants.Rd
+++ b/man/mlr_pipeops_removeconstants.Rd
@@ -87,6 +87,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_renamecolumns.Rd b/man/mlr_pipeops_renamecolumns.Rd
index 131433937..6d39fb21f 100644
--- a/man/mlr_pipeops_renamecolumns.Rd
+++ b/man/mlr_pipeops_renamecolumns.Rd
@@ -86,6 +86,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_replicate.Rd b/man/mlr_pipeops_replicate.Rd
index 9d015566d..f95c23b26 100644
--- a/man/mlr_pipeops_replicate.Rd
+++ b/man/mlr_pipeops_replicate.Rd
@@ -79,6 +79,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_rowapply.Rd b/man/mlr_pipeops_rowapply.Rd
index 62226792b..bece84fb3 100644
--- a/man/mlr_pipeops_rowapply.Rd
+++ b/man/mlr_pipeops_rowapply.Rd
@@ -85,6 +85,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_scale.Rd b/man/mlr_pipeops_scale.Rd
index 3bf30b521..41c215e90 100644
--- a/man/mlr_pipeops_scale.Rd
+++ b/man/mlr_pipeops_scale.Rd
@@ -106,6 +106,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_scalemaxabs.Rd b/man/mlr_pipeops_scalemaxabs.Rd
index 011f75107..5ca59d727 100644
--- a/man/mlr_pipeops_scalemaxabs.Rd
+++ b/man/mlr_pipeops_scalemaxabs.Rd
@@ -76,6 +76,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_scalerange.Rd b/man/mlr_pipeops_scalerange.Rd
index 48af7d223..8e02086c4 100644
--- a/man/mlr_pipeops_scalerange.Rd
+++ b/man/mlr_pipeops_scalerange.Rd
@@ -86,6 +86,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_select.Rd b/man/mlr_pipeops_select.Rd
index 7d678830b..5352b4fcb 100644
--- a/man/mlr_pipeops_select.Rd
+++ b/man/mlr_pipeops_select.Rd
@@ -98,6 +98,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_smote.Rd b/man/mlr_pipeops_smote.Rd
index 0bfd310db..60d7829c2 100644
--- a/man/mlr_pipeops_smote.Rd
+++ b/man/mlr_pipeops_smote.Rd
@@ -104,6 +104,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_smotenc.Rd b/man/mlr_pipeops_smotenc.Rd
index 5a231bb2a..a8afc77ad 100644
--- a/man/mlr_pipeops_smotenc.Rd
+++ b/man/mlr_pipeops_smotenc.Rd
@@ -116,6 +116,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_spatialsign.Rd b/man/mlr_pipeops_spatialsign.Rd
index efad79930..e5f84cc05 100644
--- a/man/mlr_pipeops_spatialsign.Rd
+++ b/man/mlr_pipeops_spatialsign.Rd
@@ -81,6 +81,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_subsample.Rd b/man/mlr_pipeops_subsample.Rd
index 6cd121c46..15a09a8af 100644
--- a/man/mlr_pipeops_subsample.Rd
+++ b/man/mlr_pipeops_subsample.Rd
@@ -106,6 +106,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_targetinvert.Rd b/man/mlr_pipeops_targetinvert.Rd
index 33f65c50c..b12577de6 100644
--- a/man/mlr_pipeops_targetinvert.Rd
+++ b/man/mlr_pipeops_targetinvert.Rd
@@ -76,6 +76,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_targetmutate.Rd b/man/mlr_pipeops_targetmutate.Rd
index b348d1ce3..9dad6c113 100644
--- a/man/mlr_pipeops_targetmutate.Rd
+++ b/man/mlr_pipeops_targetmutate.Rd
@@ -124,6 +124,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_targettrafoscalerange.Rd b/man/mlr_pipeops_targettrafoscalerange.Rd
index 8400551c5..1c46e5209 100644
--- a/man/mlr_pipeops_targettrafoscalerange.Rd
+++ b/man/mlr_pipeops_targettrafoscalerange.Rd
@@ -95,6 +95,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_textvectorizer.Rd b/man/mlr_pipeops_textvectorizer.Rd
index d40503694..d04b91b7d 100644
--- a/man/mlr_pipeops_textvectorizer.Rd
+++ b/man/mlr_pipeops_textvectorizer.Rd
@@ -200,6 +200,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_threshold.Rd b/man/mlr_pipeops_threshold.Rd
index d8aa2fa5c..ff4dd28cf 100644
--- a/man/mlr_pipeops_threshold.Rd
+++ b/man/mlr_pipeops_threshold.Rd
@@ -89,6 +89,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_tomek.Rd b/man/mlr_pipeops_tomek.Rd
index 7a3bee4bd..e6998de47 100644
--- a/man/mlr_pipeops_tomek.Rd
+++ b/man/mlr_pipeops_tomek.Rd
@@ -95,6 +95,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_tunethreshold.Rd b/man/mlr_pipeops_tunethreshold.Rd
index f2707ef05..9f85e100e 100644
--- a/man/mlr_pipeops_tunethreshold.Rd
+++ b/man/mlr_pipeops_tunethreshold.Rd
@@ -115,6 +115,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_unbranch.Rd b/man/mlr_pipeops_unbranch.Rd
index f79719aed..8ef0045f6 100644
--- a/man/mlr_pipeops_unbranch.Rd
+++ b/man/mlr_pipeops_unbranch.Rd
@@ -88,6 +88,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_updatetarget.Rd b/man/mlr_pipeops_updatetarget.Rd
index 263b41ff3..2c9414cea 100644
--- a/man/mlr_pipeops_updatetarget.Rd
+++ b/man/mlr_pipeops_updatetarget.Rd
@@ -108,6 +108,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_vtreat.Rd b/man/mlr_pipeops_vtreat.Rd
index 81514f09d..d6a52cbcd 100644
--- a/man/mlr_pipeops_vtreat.Rd
+++ b/man/mlr_pipeops_vtreat.Rd
@@ -162,6 +162,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/man/mlr_pipeops_yeojohnson.Rd b/man/mlr_pipeops_yeojohnson.Rd
index f1823e343..163647673 100644
--- a/man/mlr_pipeops_yeojohnson.Rd
+++ b/man/mlr_pipeops_yeojohnson.Rd
@@ -98,6 +98,7 @@ Other PipeOps:
\code{\link{PipeOpTaskPreprocSimple}},
\code{\link{mlr_pipeops}},
\code{\link{mlr_pipeops_adas}},
+\code{\link{mlr_pipeops_basissplines}},
\code{\link{mlr_pipeops_blsmote}},
\code{\link{mlr_pipeops_boxcox}},
\code{\link{mlr_pipeops_branch}},
diff --git a/tests/.DS_Store b/tests/.DS_Store
new file mode 100644
index 000000000..476f8b981
Binary files /dev/null and b/tests/.DS_Store differ
diff --git a/tests/testthat/test_pipeop_basissplines.R b/tests/testthat/test_pipeop_basissplines.R
new file mode 100644
index 000000000..70634428b
--- /dev/null
+++ b/tests/testthat/test_pipeop_basissplines.R
@@ -0,0 +1,67 @@
+context("PipeOpBasisSplines")
+
+test_that("PipeOpBasisSplines - basic properties", {
+ browser()
+ task = mlr_tasks$get("mtcars")
+ expect_datapreproc_pipeop_class(PipeOpBasisSplines, task = task, deterministic_predict = FALSE)
+})
+
+test_that("Error when trying to pass degree argument while factor = cubic", {
+ expect_error(po("basissplines", factor = "cubic", degree = 3))
+})
+
+test_that("results are identical as when calculating by hand", {
+ degree = c(1, 2, 3, 4, 5)
+ df = degree + 3
+ task = tsk("iris")
+ for (j in degree) {
+ po = po("basissplines", df = df[[j]], degree = degree[[j]])
+ result = po$train(list(task))[[1]]$data()[, -1]
+ result_calc = as.data.table(stats::model.matrix(
+ Species ~ splines::bs(Petal.Length, df = df[[j]], degree = degree[[j]]) +
+ splines::bs(Petal.Width, df = df[[j]], degree = degree[[j]]) +
+ splines::bs(Sepal.Length, df = df[[j]], degree = degree[[j]]) +
+ splines::bs(Sepal.Width, df = df[[j]], degree = degree[[j]]),
+ data = iris
+ ))
+ data.table::setnames(result, rep("", ncol(result)))
+ data.table::setnames(result_calc, rep("", ncol(result_calc)))
+ expect_equal(result, result_calc)
+ }
+ for (j in df) {
+ po = po("basissplines", df = j)
+ result = po$train(list(task))[[1]]$data()[, -1]
+ result_calc = as.data.table(stats::model.matrix(
+ Species ~ splines::bs(Petal.Length, df = j) +
+ splines::bs(Petal.Width, df = j) +
+ splines::bs(Sepal.Length, df = j) +
+ splines::bs(Sepal.Width, df = j),
+ data = iris
+ ))
+ data.table::setnames(result, rep("", ncol(result)))
+ data.table::setnames(result_calc, rep("", ncol(result_calc)))
+ expect_equal(result, result_calc)
+ }
+})
+
+
+test_that("Selector", {
+ selector = list("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width")
+ task = tsk("iris")
+ factor = list("polynomial", "cubic")
+ for (i in seq_along(factor)) {
+ for (j in seq_along(selector)) {
+ po = po("basissplines", affect_columns = selector_grep(selector[[j]]))
+ single_string = paste0(if (factor[[i]] == "polynomial") "splines::bs(dt[[" else "splines::ns(dt[[", selector, "]]", ")")
+ result = po$train(list(task))[[1]]$data()[, -1]
+ result_calc = as.data.table(stats::model.matrix(
+ as.formula(paste("Species ~ splines::bs(", selector[[j]], ")")),
+ data = iris
+ ))
+ relevant_result = as.data.table(intersect(result_calc, result))
+ data.table::setnames(result_calc, rep("", ncol(result_calc)))
+ data.table::setnames(relevant_result, rep("", ncol(relevant_result)))
+ expect_equal(result_calc, relevant_result)
+ }
+ }
+})