PermutationSymmetry¶
- class baybe.symmetries.permutation.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__(permutation_groups, *[, ...])Method generated by attrs for class PermutationSymmetry.
augment_measurements(measurements[, 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
The permutation groups.
The names of the parameters affected by the symmetry.
Flag indicating whether data augmentation is to be used.
- __init__(permutation_groups: Sequence[Sequence[str]], *, use_data_augmentation: bool = True)¶
Method generated by attrs for class PermutationSymmetry.
For details on the parameters, see Public attributes and properties.
- augment_measurements(measurements: pd.DataFrame, parameters: Iterable[Parameter] | None = None)[source]¶
Augment the given measurements according to the symmetry.
- Parameters:
measurements (pd.DataFrame) – The dataframe containing the measurements to be augmented.
parameters (Iterable[Parameter] | None) – Optional parameter objects carrying additional information. Only required by specific 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 parameters within a permutation group are not equivalent (i.e., differ in type or specification).
- Return type:
None