TriangularTransformation¶
- class baybe.transformations.basic.TriangularTransformation[source]¶
Bases:
TransformationA transformation with a triangular shape.
The transformation is defined by a peak location between two cutoff values. Outside the region delimited by the cutoff values, the transformation is zero. Inside the region, the transformed values increase linearly from both cutoffs to the peak, where the highest value of 1 is reached:
\[\begin{split}f(x) = \begin{cases} 0 & \text{if } x < c_1 \\ \frac{x - c_1}{p - c_1} & \text{if } c_1 \leq x < p \\ \frac{c_2 - x}{c_2 - p} & \text{if } p \leq x < c_2 \\ 0 & \text{if } c_2 \leq x \end{cases}\end{split}\]where \(c_1\) and \(c_2\) are the left and right cutoffs, respectively, and \(p\) is the peak location, with \(c_1 < p < c_2\).
Public methods
__init__(cutoffs[, peak])Method generated by attrs for class TriangularTransformation.
abs()Take the absolute value of the output of the transformation.
chain(transformation, /)Chain another transformation with the existing one.
clamp([min, max])Clamp the output of the transformation.
from_dict(dictionary)Create an object from its dictionary representation.
from_json(source, /)Create an object from its JSON representation.
from_margins(peak, margins)Create a triangular transformation from a peak location and margins.
from_width(peak, width)Create a triangular transformation from a peak location and width.
get_codomain([interval])Get the codomain of a certain interval (assuming transformation continuity).
get_image([interval])Get the image of a certain interval (assuming transformation continuity).
negate()Negate the output of the transformation.
Convert to BoTorch objective.
to_dict()Create an object's dictionary representation.
to_json([sink, overwrite])Create an object's JSON representation.
Public attributes and properties
The cutoff values where the transformation reaches zero.
The peak location of the transformation.
The left and right margin denoting the width of the triangle.
- __init__(cutoffs, peak=NOTHING)¶
Method generated by attrs for class TriangularTransformation.
For details on the parameters, see Public attributes and properties.
- abs()¶
Take the absolute value of the output of the transformation.
- Return type:
- chain(transformation: Transformation, /)¶
Chain another transformation with the existing one.
- Return type:
- 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.
- classmethod from_margins(peak: float, margins: Sequence[float])[source]¶
Create a triangular transformation from a peak location and margins.
- Return type:
- classmethod from_width(peak: float, width: float)[source]¶
Create a triangular transformation from a peak location and width.
- Return type:
- get_codomain(interval: Interval | None = None, /)[source]¶
Get the codomain of a certain interval (assuming transformation continuity).
In accordance with the mathematical definition of a function’s codomain, we define the codomain of a given
Intervalunder a certain (assumed continuous)Transformationto be anIntervalguaranteed to contain all possible outcomes when theTransformationis applied to all points in the inputInterval. In cases where the image cannot exactly be computed, it is often still possible to compute a codomain. The codomain always contains the image, but might be larger.- Return type:
- get_image(interval: Interval | None = None, /)¶
Get the image of a certain interval (assuming transformation continuity).
In accordance with the mathematical definition of a function’s image, we define the image of a given
Intervalunder a certain (assumed continuous)Transformationto be the smallestIntervalcontaining all possible outcomes when theTransformationis applied to all points in the inputInterval.- Return type:
- negate()¶
Negate the output of the transformation.
- Return type:
- to_botorch_objective()¶
Convert to BoTorch objective.
- Return type:
MCAcquisitionObjective
- 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.