VariableTransformer#
- class pybads.variable_transformer.VariableTransformer(D, lower_bounds: ndarray = None, upper_bounds: ndarray = None, plausible_lower_bounds: ndarray = None, plausible_upper_bounds: ndarray = None, apply_log_t=None)[source]#
 A class enabling linear or non-linear transformation of the bounds (plausible_lower_bounds and plausible_upper_bounds) and map them to an hypercube [-1, 1]^D
- Parameters:
 - Dint
 The dimension of the space.
- lower_boundsnp.ndarray, optional
 The lower bounds of the space.
lower_boundsandupper_boundsdefine a set of strict lower and upper bounds for each variable, given in the original space. By default None.- upper_boundsnp.ndarray, optional
 The upper bounds of the space.
lower_boundsandupper_boundsdefine a set of strict lower and upper bounds for each variable, given in the original space. By default None.- plausible_lower_boundsnp.ndarray, optional
 The plausible lower bounds such that
lower_bounds < plausible_lower_bounds < plausible_upper_bounds < upper_bounds.plausible_lower_boundsandplausible_upper_boundsrepresent a “plausible” range for each variable, given in the original space. By default None.- plausible_upper_boundsnp.ndarray, optional
 The plausible upper bounds such that
lower_bounds < plausible_lower_bounds < plausible_upper_bounds < upper_bounds.plausible_lower_boundsandplausible_upper_boundsrepresent a “plausible” range for each variable, given in the original space. By default None.- apply_log_tnp.ndarray, optional
 A boolean array of size (1, D) that indicates which variables to apply the non-linear log transformation. By default None, in which case the log transformation is applied if the bounds are all positive and the variables span more than one order of magnitude.
- __call__(input: ndarray)[source]#
 Performs direct transform of original variables
inputinto the hypercube space.- Parameters:
 - inputnp.ndarray
 A N x D array, where N is the number of input data and D is the number of dimensions
- Returns:
 - unp.ndarray
 The variables transformed.
- inverse_transf(input: ndarray)[source]#
 Performs inverse transform of the transformed variables
inputin the hypercube into the original space.- Parameters:
 - inputnp.ndarray
 The transformed variables that will be mapped in the original space.
- Returns:
 - xnp.ndarray
 The original variables retrieved by the inverse transform.