CPO Learners are created when a CPO gets attached to an mlr-Learner object. The resulting
learner performs the operation described by the attached CPO before fitting the model specified by the
Learner. It is possible to attach compound CPOs, and it is possible to attach more CPOs to a learner
that is already a CPOLearner. If the attached CPO exports hyperparameters, these become part of the newly created
learner and can be queried and set using functions such as getParamSet, getHyperPars,
and setHyperPars.
The model created when training a CPOLearner also contains the relevant CPORetrafo information to be applied
to prediction data; this can be retrieved using retrafo. The CPOInverter functionality is handled
equally transparently by the model.
A CPOLearner can possibly have different LearnerProperties than the base Learner to which
it is attached. This depends on the CPO's properties, see CPOProperties.
It is possible to retrieve the CPOLearner's base learner using getLearnerBare, and to get the attached CPOs
using getLearnerCPO.