Universal Parameter Space Description and Tools.

Build Status Linux CRAN codecov StackOverflow

** Check the mlr3book paradox chapter for an exhaustive introduction. **


remotes::install_github("mlr-org/paradox", dependencies = TRUE)


Create a simple ParamSet using all supported Parameter Types:

  • integer numbers ("int")
  • real-valued numbers ("dbl")
  • truth values TRUE or FALSE ("lgl")
  • categorical values from a set of possible strings ("fct")
  • further types are only possible by using transformations.

Draw random samples / create random design:

Generate LHS Design:

Generate Grid Design:

Properties of the parameters within the ParamSet:

Parameter Checks

Check that a parameter satisfies all conditions of a ParamSet, using $test() (returns FALSE on mismatch), $check() (returns error description on mismatch), and $assert() (throws error on mismatch):


Transformations are functions with a fixed signature.

  • x A named list of parameter values
  • param_set the ParamSet used to create the design

Transformations can be used to change the distributions of sampled parameters. For example, to sample values between (2^-3) and (2^3) in a (log_2)-uniform distribution, one can sample uniformly between -3 and 3 and exponentiate the random value inside the transformation.