Gives the operating type of a CPO or Retrafo, i.e. the part of a given data set it operates on. This can be “target” for a CPO / Retrafo / Inverter that manipulates target columns, “feature” for a CPO / Retrafo that manipulates non-target columns, or “retrafoless” for a CPO that only handles training data (and hence can manipulate both feature and target columns, but produces no retrafo).
For a composite CPO / Retrafo of different operating types, all
types are returned.
NULLCPO has no operating type.
character(1)]. Zero or more of “target”, “feature”, “retrafoless”.
There are three types of
CPO that differ in their effects on the data: “Feature Operation”,
“Target Operation”, and “Retrafoless”.
Feature Operation CPOs (FOCPO) only change the feature columns
of a data set, and don't change the target column(s). They therefore cannot change the type of a
will never change the number of rows of a data set. They are the easiest CPO to handle, as they do not require
inversion of predictions made with processed data. Examples of Feature Operation CPOs is the scaling of individual features
to have unit variance (
cpoScale), or the projection on principal components (
Target Operation CPOs (TOCPO) only change the target column(s) of a data set, not the feature columns. They can thus
also change the type
Task, and the PredictTypes admitted by a
Learner. They are thus a powerful
instrument, but they are harder to handle, since predictions made with data sets processed with this kind of CPO need to be
inverted using the
invert function and possibly an
CPOInverter object (see documentation there).
(Note that attaching a Target Operation CPO to a
Learner will hide this complexity from the user and is the
recommended way of handling it.)
Examples of Target Operation CPOs are the log-transformation of the target column of a regression task, the conversion of a
binary classification task into a 0-1-regression task, or the substitution of the target values into the residuals after a
Learner was applied to the task. Note that the last of these examples distinguishes itself by the fact that
the inversion operation is dependent on the prediction data used. While for the first two examples, the
CPORetrafo object can be used for inversionk, the last one requires the
CPOInverter object. See
CPOTrainedCapability for more on this.
Retrafoless CPOs (ROCPO) can change the feature and target columns of a task, but this comes at the cost of not
allowing retransformations. When getting the
CPORetrafo object using
retrafo, one will always get an identity transformation.
While other CPOs can be understood as transforming the space of features or target values,
respectively, the Retrafoless CPO can only add or subtract points in the given space. Examples of this operation
are subsampling and supersampling.
Other retrafo related:
Other inverter related: