PermutationSymmetry¶
- class baybe.symmetries.PermutationSymmetry[source]¶
Bases:
SymmetryClass for representing permutation symmetries.
A permutation symmetry expresses that certain parameters can be permuted without affecting the outcome of the model. For instance, this is the case if $f(x,y) = f(y,x)$.
Public methods
__init__(parameter_names[, ...])Method generated by attrs for class PermutationSymmetry.
augment_measurements(df, _)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
Groups of parameter names that are co-permuted like the other parameters.
The names of the parameters affected by the symmetry.
Flag indicating whether data augmentation would be used with surrogates that support this.
- __init__(parameter_names: Sequence[str], copermuted_groups=NOTHING, *, use_data_augmentation: bool = True)¶
Method generated by attrs for class PermutationSymmetry.
For details on the parameters, see Public attributes and properties.
- augment_measurements(df: pd.DataFrame, _: Iterable[Parameter])[source]¶
Augment the given measurements according to the symmetry.
- Parameters:
df (pd.DataFrame) – The dataframe containing the measurements to be augmented.
parameters – 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_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
Pathobject pointing to a JSON file.A file-like object with a
read()method.
- Raises:
ValueError – If
sourceis not one of the allowed types.- Return type:
_T
- Returns:
The reconstructed object.
- to_dict()¶
Create an object’s dictionary representation.
- Return type:
- 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
Pathobject 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
sinkis a file path orPathobject.**kwargs (Any) – Additional keyword arguments to pass to
json.dumps().
- Raises:
FileExistsError – If
sinkpoints to an already existing file butoverwriteisFalse.- 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 copermuted groups contain parameters not present in the searchspace.
TypeError – If parameters withing a permutation group do not have the same type.
ValueError – If parameters withing a permutation group do not have a compatible set of values.
- Return type:
None