Skip to content

Wrong check in acquisition function builder #661

@AdrianSosic

Description

@AdrianSosic

As reported here, there is a regression in 0.14.0 for desirability objectives.

Minimal example

import pandas as pd

from baybe.acquisition import ProbabilityOfImprovement
from baybe.objectives import DesirabilityObjective
from baybe.parameters import NumericalContinuousParameter
from baybe.recommenders import BotorchRecommender
from baybe.targets import NumericalTarget

searchspace = NumericalContinuousParameter("p", [0, 1]).to_searchspace()
targets = [NumericalTarget("t1"), NumericalTarget("t2")]
objective = DesirabilityObjective(
    targets, scalarizer="MEAN", require_normalization=False
)
recommender = BotorchRecommender()

candidates = pd.DataFrame({"p": [0.2, 0.3]})
measurements = pd.DataFrame(
    {
        "p": [0.1, 0.4, 0.6, 0.8],
        "t1": [0.2, 0.5, 0.7, 0.9],
        "t2": [0.3, 0.6, 0.4, 0.8],
    }
)

acqf = recommender.acquisition_values(
    candidates,
    searchspace,
    objective,
    measurements,
    acquisition_function=ProbabilityOfImprovement(),
)
print(acqf)
baybe.exceptions.IncompatibilityError: The selected analytic acquisition 'ProbabilityOfImprovement' can handle one target only but the specified objective comprises 2 targets: ['t1', 't2']

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions