DesirabilityObjective¶
- class baybe.objectives.desirability.DesirabilityObjective[source]¶
Bases:
Objective
An objective scalarizing multiple targets using desirability values.
Public methods
__init__
(targets[, weights, scalarizer, ...])Method generated by attrs for class DesirabilityObjective.
from_dict
(dictionary)Create an object from its dictionary representation.
from_json
(string)Create an object from its JSON representation.
Convert to BoTorch representation.
to_dict
()Create an object's dictionary representation.
to_json
()Create an object's JSON representation.
transform
([df, allow_missing, allow_extra, data])Evaluate the objective on the target columns of the given dataframe.
Public attributes and properties
The description of the objective.
Class variable indicating if the objective produces multiple outputs.
The number of outputs of the objective.
The names of the outputs of the objective.
Boolean indicating if the objective accepts partial target measurements.
The targets included in the objective.
The weights to balance the different targets.
The mechanism to scalarize the weighted desirability values of all targets.
Controls if the targets must be normalized.
Controls if the desirability computation is applied as a pre-transformation.
Optional metadata containing description and other information.
- __init__(targets: Iterable, weights=NOTHING, scalarizer=Scalarizer.GEOM_MEAN, *, metadata=NOTHING, require_normalization: bool = True, as_pre_transformation: bool = False)¶
Method generated by attrs for class DesirabilityObjective.
For details on the parameters, see Public attributes and properties.
- to_dict()¶
Create an object’s dictionary representation.
- Return type:
- Returns:
The dictionary representation of the object.
- to_json()¶
Create an object’s JSON representation.
- Return type:
- Returns:
The JSON representation as a string.
- transform(df: DataFrame | None = None, /, *, allow_missing: bool = False, allow_extra: bool | None = None, data: DataFrame | None = None)¶
Evaluate the objective on the target columns of the given dataframe.
- Parameters:
df (
Optional
[DataFrame
]) – The dataframe to be transformed. The allowed columns of the dataframe are dictated by theallow_missing
andallow_extra
flags.allow_missing (
bool
) – IfFalse
, each target of the objective must have exactly one corresponding column in the given dataframe. IfTrue
, the dataframe may contain only a subset of target columns.allow_extra (
Optional
[bool
]) – IfFalse
, each column present in the dataframe must correspond to exactly one target of the objective. IfTrue
, the dataframe may contain additional non-target-related columns, which will be ignored. TheNone
default value is for temporary backward compatibility only and will be removed in a future version.data (
Optional
[DataFrame
]) – Ignore! For backward compatibility only.
- Raises:
ValueError – If dataframes are passed to both
df
anddata
.- Return type:
- Returns:
A dataframe containing the objective values for the given input dataframe.
- as_pre_transformation: bool¶
Controls if the desirability computation is applied as a pre-transformation.
- is_multi_output: ClassVar[bool] = False¶
Class variable indicating if the objective produces multiple outputs.
- metadata: Metadata¶
Optional metadata containing description and other information.
- require_normalization: bool¶
Controls if the targets must be normalized.
- scalarizer: Scalarizer¶
The mechanism to scalarize the weighted desirability values of all targets.
- property supports_partial_measurements: bool¶
Boolean indicating if the objective accepts partial target measurements.
- property targets: tuple[NumericalTarget, ...]¶
The targets included in the objective.
- weights: tuple[float, ...]¶
The weights to balance the different targets. By default, all targets are considered equally important.