def __init__(self, search_space: SearchSpace, observation_features: List[ObservationFeatures], observation_data: List[ObservationData], modelbridge: Optional[modelbridge_module.base.ModelBridge]=None, config: Optional[TConfig]=None) -> None:
    if (config is None):
        raise ValueError('PowerTransform requires a config.')
    metric_names = list(config.get('metrics', []))
    if (len(metric_names) == 0):
        raise ValueError('Must specify at least one metric in the config.')
    self.clip_mean = config.get('clip_mean', True)
    self.metric_names = metric_names
    Ys = get_data(observation_data=observation_data, metric_names=metric_names)
    self.power_transforms = _compute_power_transforms(Ys=Ys)
    self.inv_bounds = _compute_inverse_bounds(self.power_transforms, tol=1e-10)
def __init__(self, search_space: SearchSpace, observation_features: List[ObservationFeatures], observation_data: List[ObservationData], modelbridge: Optional[modelbridge_module.base.ModelBridge]=None, config: Optional[TConfig]=None) -> None:
    if (config is None):
        raise ValueError('PowerTransform requires a config.')
    metric_names = list(config.get('metrics', []))
    if (len(metric_names) == 0):
        raise ValueError('Must specify at least one metric in the config.')
    self.clip_mean = config.get('clip_mean', True)
    self.metric_names = metric_names
    Ys = get_data(observation_data=observation_data, metric_names=metric_names)
    self.power_transforms = _compute_power_transforms(Ys=Ys)
    self.inv_bounds = _compute_inverse_bounds(self.power_transforms, tol=1e-10)