This is a CPOConstructor to be used to create a CPO. It is called like any R function and returns the created CPO.

Transforms hyperparameters, or establishes dependencies between them. The CPO given to cpoTransformParams gets wrapped inside a new CPO with different hyperparameters. The parameters for which a transformation is given are not exported (unless also given in additional.parameters).

  cpo = NULLCPO,
  transformations = list(),
  additional.parameters = makeParamSet(),
  par.vals = list()



The CPO to use. Currently this may only have a single OperatingType. Default is NULLCPO.


[named list of language]
This list is contains expressions or quotes that are evaluated in the context of the externally given hyperparameters and then give the values of the internal hyperparameters. The name of each list element determines to what hyperparameter of cpo the result of the expression is written.

Expressions can not depend on the results of other expressions.

Hyperparameters of cpo named in this list are not exported by the TransformParams CPO. It is, however, possible to create synonymous parameters in additional.parameters.

Default is list().


Additional parameters to create, on which expressions in transformations may depend. They may contain the same names as transformations, but may not have names of hyperparameters of cpo that are not in transformations.


Optional default values of parameters in additional.parameters. These override the ParamSet's default values. Default is list(). These must only concern parameters in additional.parameters, not the ones in cpo.



General CPO info

This function creates a CPO object, which can be applied to Tasks, data.frames, 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.

Calling a CPOConstructor

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.

See also