This is a CPOConstructor
to be used to create a
CPO
. It is called like any R function and returns
the created CPO
.
The function must either vectorize over the given data, or will be applied to each data element on its own.
It must not change the type of the data, i.e. numeric data must remain numeric etc.
If the function can only handle a subset of the given columns,
e.g. only a certain type, use affect.*
arguments.
cpoApplyFun(fun, param = NULL, vectorize = TRUE, make.factors = TRUE, id,
export = "export.default", affect.type = NULL,
affect.index = integer(0), affect.names = character(0),
affect.pattern = NULL, affect.invert = FALSE,
affect.pattern.ignore.case = FALSE, affect.pattern.perl = FALSE,
affect.pattern.fixed = FALSE)
[function
]
The function to apply. If
vectorize
is TRUE
, the argument is a vector of the
whole column, fun
must vectorize over it and return
a vector of the same length;
otherwise, the function gets called once for
every data item, and both the function argument and
the return value must have length 1.
The function must take one or two arguments. If it takes
two arguments, the second argument will be param
.
[any]
Optional argument to be given to fun
. If fun
only takes one argument, this is ignored. Default is NULL
.
[logical(1)
]
Whether to call fun
once for each column, or
once for each element. If fun
vectorizes,
it is recommended to have this set to TRUE
for better performance. Default is TRUE
.
[logical(1)
]
Whether to turn resulting logical
and character
columns into factor
columns (which are preferred by
mlr
). Default is TRUE
.
[character(1)
]
id to use as prefix for the CPO's hyperparameters. this
must be used to avoid name clashes when composing two
CPOs of the same type, or with learners or other CPOS
with hyperparameters with clashing names.
[character
]
Either a character vector indicating the parameters to
export as hyperparameters, or one of the special values
“export.all” (export all parameters),
“export.default” (export all parameters that are exported by default),
“export.set” (export all parameters that were set during construction),
“export.default.set” (export the intersection of the “default” and “set” parameters),
“export.unset” (export all parameters that were not set during construction) or
“export.default.unset” (export the intersection of the “default” and “unset” parameters).
Default is “export.default”.
[character
| NULL
]
Type of columns to affect. A subset of “numeric”, “factor”, “ordered”, “other”, or NULL
to not match by column type. Default is NULL
.
[numeric
]
Indices of feature columns to affect. The order of indices given is respected. Target column indices are not counted
(since target columns are always included). Default is integer(0)
.
[character
]
Feature names of feature columns to affect. The order of names given is respected. Default is character(0)
.
[character(1)
| NULL
]
grep
pattern to match feature names by. Default is NULL
(no pattern matching)
[logical(1)
]
Whether to affect all features not matched by other affect.*
parameters.
[logical(1)
]
Ignore case when matching features with affect.pattern
; see grep
. Default is FALSE
.
[logical(1)
]
Use Perl-style regular expressions for affect.pattern
; see grep
. Default is FALSE
.
[logical(1)
]
Use fixed matching instead of regular expressions for affect.pattern
; see grep
. Default is FALSE
.
[CPO
].
The created state is empty.
This function creates a CPO object, which can be applied to
Task
s, data.frame
s, link{Learner}
s
and other CPO objects using the %>>%
operator.
The parameters of this object can be changed after creation
using the function setHyperPars
. The other
hyper-parameter manipulating functins, getHyperPars
and getParamSet
similarly work as one expects.
If the “id” parameter is given, the hyperparameters will have this id as aprefix; this will, however, not change the parameters of the creator function.
CPO constructor functions are called with optional values of parameters, and additional “special” optional values.
The special optional values are the id
parameter, and the affect.*
parameters. The affect.*
parameters
enable the user to control which subset of a given dataset is affected. If no affect.*
parameters are given, all
data features are affected by default.
Other CPOs: cpoApplyFunRegrTarget
,
cpoAsNumeric
, cpoCache
,
cpoCbind
, cpoCollapseFact
,
cpoDropConstants
,
cpoDummyEncode
,
cpoFilterAnova
,
cpoFilterCarscore
,
cpoFilterChiSquared
,
cpoFilterFeatures
,
cpoFilterGainRatio
,
cpoFilterInformationGain
,
cpoFilterKruskal
,
cpoFilterLinearCorrelation
,
cpoFilterMrmr
, cpoFilterOneR
,
cpoFilterPermutationImportance
,
cpoFilterRankCorrelation
,
cpoFilterRelief
,
cpoFilterRfCImportance
,
cpoFilterRfImportance
,
cpoFilterRfSRCImportance
,
cpoFilterRfSRCMinDepth
,
cpoFilterSymmetricalUncertainty
,
cpoFilterUnivariate
,
cpoFilterVariance
,
cpoFixFactors
, cpoIca
,
cpoImpactEncodeClassif
,
cpoImpactEncodeRegr
,
cpoImputeConstant
,
cpoImputeHist
,
cpoImputeLearner
,
cpoImputeMax
, cpoImputeMean
,
cpoImputeMedian
,
cpoImputeMin
, cpoImputeMode
,
cpoImputeNormal
,
cpoImputeUniform
, cpoImpute
,
cpoLogTrafoRegr
, cpoMakeCols
,
cpoMissingIndicators
,
cpoModelMatrix
,
cpoOversample
, cpoPca
,
cpoProbEncode
,
cpoQuantileBinNumerics
,
cpoRegrResiduals
,
cpoResponseFromSE
, cpoSample
,
cpoScaleMaxAbs
,
cpoScaleRange
, cpoScale
,
cpoSelect
, cpoSmote
,
cpoSpatialSign
,
cpoTransformParams
, cpoWrap
,
makeCPOCase
, makeCPOMultiplex