StreamingSequentialMetaRecommender

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

Bases: BaseSequentialMetaRecommender

A meta recommender that switches between recommenders from an iterable.

Similar to baybe.recommenders.meta.sequential.SequentialMetaRecommender but without explicit list conversion. This enables a number of advanced use cases:

  • It supports arbitrary iterables, allowing to configure recommender sequences of infinite length. This is useful when the total number of iterations unknown in advance.

  • It can be used to adaptively adjust the recommender sequence based on the latest context available outside the class, by modifying the iterable on the fly.

The downside is that serialization is not supported.

Raises:

NoRecommendersLeftError – If more recommenders are requested than there are recommenders available.

Public methods

__init__(recommenders, *[, _step, ...])

Method generated by attrs for class StreamingSequentialMetaRecommender.

from_dict(dictionary)

Create an object from its dictionary representation.

from_json(string)

Create an object from its JSON representation.

get_current_recommender()

Deprecated! Use select_recommender() or get_non_meta_recommender() instead.

get_next_recommender()

Deprecated! Use select_recommender() or get_non_meta_recommender() instead.

get_non_meta_recommender([batch_size, ...])

Follow the meta recommender chain to the selected non-meta recommender.

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

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

select_recommender([batch_size, ...])

Select a 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

recommenders

An iterable providing the recommenders to be used.

is_stateful

Boolean indicating if the meta recommender is stateful.

__init__(recommenders: Iterable[RecommenderProtocol], *, _step: int = 0, _was_used: bool = False, _n_last_measurements: int = 0)

Method generated by attrs for class StreamingSequentialMetaRecommender.

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.

get_current_recommender()

Deprecated! Use select_recommender() or get_non_meta_recommender() instead.

Return type:

PureRecommender

get_next_recommender()

Deprecated! Use select_recommender() or get_non_meta_recommender() instead.

Return type:

PureRecommender

get_non_meta_recommender(batch_size: int | None = None, searchspace: SearchSpace | None = None, objective: Objective | None = None, measurements: DataFrame | None = None, pending_experiments: DataFrame | None = None)

Follow the meta recommender chain to the selected non-meta recommender.

Recursively calls MetaRecommender.select_recommender() until a non-meta recommender is encountered, which is then returned. Effectively, this extracts the recommender responsible for generating the recommendations for the specified context.

See baybe.recommenders.base.RecommenderProtocol.recommend() for details on the method arguments.

Return type:

RecommenderProtocol

recommend(batch_size: int, searchspace: SearchSpace, objective: Objective | None = None, measurements: DataFrame | None = None, pending_experiments: DataFrame | None = None)

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

Return type:

DataFrame

select_recommender(batch_size: int | None = None, searchspace: SearchSpace | None = None, objective: Objective | None = None, measurements: DataFrame | None = None, pending_experiments: DataFrame | None = None)

Select a recommender for the given experimentation context.

See baybe.recommenders.base.RecommenderProtocol.recommend() for details on the method arguments.

Return type:

RecommenderProtocol

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.

property is_stateful: bool

Boolean indicating if the meta recommender is stateful.

recommenders: Iterable[RecommenderProtocol]

An iterable providing the recommenders to be used.