TwoPhaseMetaRecommender

class baybe.recommenders.meta.sequential.TwoPhaseMetaRecommender[source]

Bases: MetaRecommender

A two-phased meta recommender that switches at a certain specified point.

The recommender is switched when a new (batch) recommendation is requested and the training data set size (i.e., the total number of collected measurements including those gathered before the meta recommender was active) is equal to or greater than the number specified via the switch_after parameter.

Note

Throughout each phase, the meta recommender reuses the same recommender object, that is, no new instances are created. Therefore, special attention is required when using the meta recommender with stateful recommenders.

Public methods

__init__([initial_recommender, recommender, ...])

Method generated by attrs for class TwoPhaseMetaRecommender.

from_dict(dictionary)

Create an object from its dictionary representation.

from_json(string)

Create an object from its JSON representation.

recommend(searchspace[, batch_size, ...])

See baybe.recommenders.base.RecommenderProtocol.recommend().

select_recommender(searchspace[, ...])

Select a pure recommender for the given experimentation context.

to_dict()

Create an object's dictionary representation.

to_json()

Create an object's JSON representation.

Public attributes and properties

initial_recommender

The initial recommender used by the meta recommender.

recommender

The recommender used by the meta recommender after the switch.

switch_after

The number of experiments after which the recommender is switched for the next requested batch.

allow_recommending_already_measured

Deprecated! The flag has become an attribute of baybe.recommenders.pure.base.PureRecommender.

allow_repeated_recommendations

Deprecated! The flag has become an attribute of baybe.recommenders.pure.base.PureRecommender.

__init__(initial_recommender: PureRecommender = NOTHING, recommender: PureRecommender = NOTHING, switch_after: int = 1, *, allow_repeated_recommendations: bool | None = None, allow_recommending_already_measured: bool | None = None)

Method generated by attrs for class TwoPhaseMetaRecommender.

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

classmethod from_dict(dictionary: dict)

Create an object from its dictionary representation.

Parameters:

dictionary (dict) – The dictionary representation.

Return type:

TypeVar(_T)

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)

Returns:

The reconstructed object.

recommend(searchspace: SearchSpace, batch_size: int = 1, train_x: DataFrame | None = None, train_y: DataFrame | None = None)

See baybe.recommenders.base.RecommenderProtocol.recommend().

Return type:

DataFrame

select_recommender(searchspace: SearchSpace, batch_size: int = 1, train_x: DataFrame | None = None, train_y: DataFrame | None = None)[source]

Select a pure recommender for the given experimentation context.

Parameters:
Return type:

PureRecommender

Returns:

The selected recommender.

to_dict()

Create an object’s dictionary representation.

Return type:

dict

to_json()

Create an object’s JSON representation.

Return type:

str

Returns:

The JSON representation as a string.

allow_recommending_already_measured: bool

Deprecated! The flag has become an attribute of baybe.recommenders.pure.base.PureRecommender.

allow_repeated_recommendations: bool

Deprecated! The flag has become an attribute of baybe.recommenders.pure.base.PureRecommender.

initial_recommender: PureRecommender

The initial recommender used by the meta recommender.

recommender: PureRecommender

The recommender used by the meta recommender after the switch.

switch_after: int

The number of experiments after which the recommender is switched for the next requested batch.