AffineTransformation

class baybe.transformations.basic.AffineTransformation[source]

Bases: MonotonicTransformation

An affine transformation.

Public methods

__init__([factor, shift, shift_first])

Method generated by attrs for class MonotonicTransformation.

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(string)

Create an object from its JSON representation.

from_values_mapped_to_unit_interval(...)

Create an affine transform by specifying reference values mapped to 0/1.

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.

to_botorch_objective()

Convert to BoTorch objective.

to_botorch_posterior_transform()

Convert to BoTorch posterior transform.

to_dict()

Create an object's dictionary representation.

to_json()

Create an object's JSON representation.

Public attributes and properties

factor

The multiplicative factor of the transformation.

shift

The constant shift of the transformation.

__init__(factor: float = 1.0, shift: float = 0.0, *, shift_first: bool = False)[source]

Method generated by attrs for class MonotonicTransformation.

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

abs()

Take the absolute value of the output of the transformation.

Return type:

Transformation

chain(transformation: Transformation, /)

Chain another transformation with the existing one.

Return type:

Transformation

clamp(min: float = -inf, max: float = inf)

Clamp the output of the transformation.

Return type:

Transformation

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(string: str)

Create an object from its JSON representation.

Parameters:

string (str) – The JSON representation of the object.

Return type:

TypeVar(_T, bound= SerialMixin)

Returns:

The reconstructed object.

classmethod from_values_mapped_to_unit_interval(mapped_to_zero: float, mapped_to_one: float)[source]

Create an affine transform by specifying reference values mapped to 0/1.

Parameters:
  • mapped_to_zero (float) – The input value that will be mapped to zero.

  • mapped_to_one (float) – The input value that will be mapped to one.

Return type:

AffineTransformation

Returns:

An affine transformation calibrated to map the specified values to the unit interval.

Example

>>> import torch
>>> from baybe.transformations import AffineTransformation as AffineT
>>> t1 = AffineT.from_values_mapped_to_unit_interval(3, 7)
>>> t2 = AffineT.from_values_mapped_to_unit_interval(7, 3)
>>> t1(torch.tensor([3, 7]))
tensor([0., 1.])
>>> t2(torch.tensor([3, 7]))
tensor([1., 0.])
get_codomain(interval: Interval | None = None, /)

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 Interval under a certain (assumed continuous) Transformation to be an Interval guaranteed to contain all possible outcomes when the Transformation is applied to all points in the input Interval. 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:

Interval

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 Interval under a certain (assumed continuous) Transformation to be the smallest Interval containing all possible outcomes when the Transformation is applied to all points in the input Interval.

Return type:

Interval

negate()

Negate the output of the transformation.

Return type:

Transformation

to_botorch_objective()

Convert to BoTorch objective.

Return type:

MCAcquisitionObjective

to_botorch_posterior_transform()[source]

Convert to BoTorch posterior transform.

Return type:

AffinePosteriorTransform

Returns:

The representation of the transform as BoTorch posterior transform.

to_dict()

Create an object’s dictionary representation.

Return type:

dict

Returns:

The dictionary representation of the object.

to_json()

Create an object’s JSON representation.

Return type:

str

Returns:

The JSON representation as a string.

factor: float

The multiplicative factor of the transformation.

shift: float

The constant shift of the transformation.