DependencySymmetry

class baybe.symmetries.DependencySymmetry[source]

Bases: Symmetry

Class for representing dependency symmetries.

A dependency symmetry expresses that certain parameters are dependent on another parameter having a specific value. For instance, the situation “The value of parameter y only matters if parameter x has the value ‘on’.”. In this scenario x is the causing parameter and y depends on x.

Public methods

__init__(parameter_name, condition, ...[, ...])

Method generated by attrs for class DependencySymmetry.

augment_measurements(df, parameters)

Augment the given measurements according to the symmetry.

from_dict(dictionary)

Create an object from its dictionary representation.

from_json(source, /)

Create an object from its JSON representation.

summary()

Return a custom summarization of the symmetry.

to_dict()

Create an object's dictionary representation.

to_json([sink, overwrite])

Create an object's JSON representation.

validate_searchspace_context(searchspace)

See base class.

Public attributes and properties

condition

The condition specifying the active range of the causing parameter.

affected_parameter_names

The parameters affected by the dependency.

n_discretization_points

Number of points used when subsampling continuous parameter ranges.

parameter_names

The names of the parameters affected by the symmetry.

use_data_augmentation

Flag indicating whether data augmentation would be used with surrogates that support this.

__init__(parameter_name: str, condition: Condition, affected_parameter_names: Sequence[str], *, use_data_augmentation: bool = True, n_discretization_points: int = 3)

Method generated by attrs for class DependencySymmetry.

For details on the parameters, see Public attributes and properties.

augment_measurements(df: pd.DataFrame, parameters: Iterable[Parameter])[source]

Augment the given measurements according to the symmetry.

Parameters:
  • df (pd.DataFrame) – The dataframe containing the measurements to be augmented.

  • parameters (Iterable[Parameter]) – Parameter objects carrying additional information (might not be needed by all augmentation implementations).

Return type:

pd.DataFrame

Returns:

The augmented dataframe including the original measurements.

classmethod from_dict(dictionary: dict)

Create an object from its dictionary representation.

Parameters:

dictionary (dict) – The dictionary representation.

Return type:

TypeVar(_T, bound= SerialMixin)

Returns:

The reconstructed object.

classmethod from_json(source: str | Path | SupportsRead[str], /)

Create an object from its JSON representation.

Parameters:

source (str | Path | SupportsRead[str]) –

The JSON source. Can be:

  • A string containing JSON content.

  • A file path or Path object pointing to a JSON file.

  • A file-like object with a read() method.

Raises:

ValueError – If source is not one of the allowed types.

Return type:

_T

Returns:

The reconstructed object.

summary()

Return a custom summarization of the symmetry.

Return type:

dict

to_dict()

Create an object’s dictionary representation.

Return type:

dict

Returns:

The dictionary representation of the object.

to_json(sink: str | Path | SupportsWrite[str] | None = None, /, *, overwrite: bool = False, **kwargs: Any)

Create an object’s JSON representation.

Parameters:
  • sink (str | Path | SupportsWrite[str] | None) –

    The JSON sink. Can be:

    • None (only returns the JSON string).

    • A file path or Path object pointing to a location where to write the JSON content.

    • A file-like object with a write() method.

  • overwrite (bool) – Boolean flag indicating if to overwrite the file if it already exists. Only relevant if sink is a file path or Path object.

  • **kwargs (Any) – Additional keyword arguments to pass to json.dumps().

Raises:

FileExistsError – If sink points to an already existing file but overwrite is False.

Return type:

str

Returns:

The JSON representation as a string.

validate_searchspace_context(searchspace: SearchSpace)[source]

See base class.

Parameters:

searchspace (SearchSpace) – The searchspace to validate against.

Raises:
  • ValueError – If any of the affected parameters is not present in the searchspace.

  • TypeError – If the causing parameter is not discrete.

Return type:

None

affected_parameter_names: tuple[str, ...]

The parameters affected by the dependency.

condition: Condition

The condition specifying the active range of the causing parameter.

n_discretization_points: int

Number of points used when subsampling continuous parameter ranges.

property parameter_names: tuple[str, ...]

The names of the parameters affected by the symmetry.

use_data_augmentation: bool

Flag indicating whether data augmentation would be used with surrogates that support this.