This is a CPOConstructor
to be used to create a
CPO
. It is called like any R function and returns
the created CPO
.
Allows imputation of missing feature values through various techniques. Note that you have the possibility to re-impute a data set in the same way as the imputation was performed during training. This especially comes in handy during resampling when one wants to perform the same imputation on the test set as on the training set.
The function impute
performs the imputation on a data set and returns,
alongside with the imputed data set, an “ImputationDesc” object
which can contain “learned” coefficients and helpful data.
It can then be passed together with a new data set to reimpute
.
The imputation techniques can be specified for certain features or for feature classes, see function arguments.
You can either provide an arbitrary object, use a built-in imputation method listed
under imputations
or create one yourself using makeImputeMethod
.
cpoImpute
will impute some columns. cpoImputeAll
behaves just like cpoImpute
,
except that it will throw an error if there are any missings remaining in its output. cpoImputeAll
should be used if one wants to prepend an imputer to a learner.
cpoImpute(target.cols = character(0), classes = list(), cols = list(),
dummy.classes = character(0), dummy.cols = character(0),
dummy.type = "factor", force.dummies = FALSE, impute.new.levels = TRUE,
recode.factor.levels = 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)cpoImputeAll(target.cols = character(0), classes = list(), cols = list(),
dummy.classes = character(0), dummy.cols = character(0),
dummy.type = "factor", force.dummies = FALSE, impute.new.levels = TRUE,
recode.factor.levels = 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)
[character
]
Name of the column(s) specifying the response.
Default is character(0)
.
[named list
]
Named list containing imputation techniques for classes of columns.
E.g. list(numeric = imputeMedian())
.
[named list
]
Named list containing names of imputation methods to impute missing values
in the data column referenced by the list element's name. Overrules imputation set via
classes
.
[character
]
Classes of columns to create dummy columns for.
Default is character(0)
.
[character
]
Column names to create dummy columns (containing binary missing indicator) for.
Default is character(0)
.
[character(1)
]
How dummy columns are encoded. Either as 0/1 with type “numeric”
or as “factor”.
Default is “factor”.
[logical(1)
]
Force dummy creation even if the respective data column does not
contain any NAs. Note that (a) most learners will complain about
constant columns created this way but (b) your feature set might
be stochastic if you turn this off.
Default is FALSE
.
[logical(1)
]
If new, unencountered factor level occur during reimputation,
should these be handled as NAs and then be imputed the same way?
Default is TRUE
.
[logical(1)
]
Recode factor levels after reimputation, so they match the respective element of
lvls
(in the description object) and therefore match the levels of the
feature factor in the training data after imputation?.
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
].
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.
The description object contains these slots
character
]See argument.
character
]Feature names (column names of data
).
character
]Feature classes (storage type of data
).
named list
]Mapping of column names of factor features to their levels, including newly created ones during imputation.
named list
]Mapping of column names to imputation functions.
named list
]Mapping of column names to imputation functions.
logical(1)
]See argument.
logical(1)
]See argument.
Other CPOs: cpoApplyFunRegrTarget
,
cpoApplyFun
, 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
,
cpoLogTrafoRegr
, cpoMakeCols
,
cpoMissingIndicators
,
cpoModelMatrix
,
cpoOversample
, cpoPca
,
cpoProbEncode
,
cpoQuantileBinNumerics
,
cpoRegrResiduals
,
cpoResponseFromSE
, cpoSample
,
cpoScaleMaxAbs
,
cpoScaleRange
, cpoScale
,
cpoSelect
, cpoSmote
,
cpoSpatialSign
,
cpoTransformParams
, cpoWrap
,
makeCPOCase
, makeCPOMultiplex
Other imputation CPOs: cpoImputeConstant
,
cpoImputeHist
,
cpoImputeLearner
,
cpoImputeMax
, cpoImputeMean
,
cpoImputeMedian
,
cpoImputeMin
, cpoImputeMode
,
cpoImputeNormal
,
cpoImputeUniform