CPOInverter is only used for inversion,
CPOInverter objects could be used for inversion using
invert in principle. However, some
objects forbid inversion (and one must use the
CPOInverter object instead),
CPORetrafo objects are NO-OPS when called with
some can be used both for transformation and inversion.
CPOTrainedCapability is a named
integer(2) with two slots: “retrafo” and
“invert”. Both can be
CPOTrained does something when used in retrafo
CPOTrained is a NO-OP when used in retrafo / inversion) or
CPOTrained cannot be used in retrafo / inversion).
integer(2)]. The first component is named “retrafo” and specifies whether the object can perform
retrafo operations; the second component is named “invert” and specifies whether it can perform invert operations.
0 indicates no effect for the operation,
1 indicates an operation is performed,
-1 indicates the object
cannot be used for the purpose.
The invert capability of a
CPOTrained depends on the
CPO which was used to
create it. Whenever a
CPO is applied to some data, the result has the
inverter attributes set that can be retrieved using the respectively named functions to
If a (possibly compound) CPO contains only Feature Operation CPOs and Retrafoless CPOs, then it does not perform any operation
on the target column of a data set; hence there is no inversion to be performed, the resulting
is a NO-OP when used with
inverter attribute created is in fact a
NULLCPO), while the
retrafo attribute contains a
c(retrafo = 1, invert = 0).
If a (possibly compound) CPO also contains Target Operation CPOs, but they are independent of the prediction data features--e.g. a CPO that
takes the logarithm of the target column in a regression task--then the
CPORetrafo object has enough information
to perform inversion and hence can also meaningfully be used with
invert. In this case the capability
CPORetrafo will be
c(retrafo = 1, invert = 1). The
object retrieved using the
inverter function can be used for the same task, but the benefit of the
CPORetrafo object is that it can be used for all prediction data applied to it, while the
CPOInverter object needs to be retrieved for each prediction data set anew. The
object furthermore cannot be used for retrafo and hence has, like all
c(retrafo = -1, invert = 1).
If a (possibly compound) CPO contains Target Operation CPOs that are not prediction data independent then the resulting
CPORetrafo has capability
c(retrafo = 1, invert = -1), since the inversion requires information about
the particular data set that was transformed.
The only object with capabilities
c(retrafo = 0, invert = 0) is
NULLCPO. Other objects that don't have at least
one capability equal to
1 cannot be created.
Other retrafo related:
Other inverter related: