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.
Get the current recommender, if available.
get_next_recommender
(batch_size, searchspace)Get the recommender for the next recommendation.
recommend
(batch_size, searchspace[, ...])See
baybe.recommenders.base.RecommenderProtocol.recommend()
.select_recommender
(batch_size[, ...])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
The initial recommender used by the meta recommender.
The recommender used by the meta recommender after the switch.
The number of experiments after which the recommender is switched for the next requested batch.
- __init__(initial_recommender: PureRecommender = NOTHING, recommender: PureRecommender = NOTHING, switch_after: int = 1)¶
Method generated by attrs for class TwoPhaseMetaRecommender.
For details on the parameters, see Public attributes and properties.
- get_current_recommender()¶
Get the current recommender, if available.
- Return type:
- get_next_recommender(batch_size: int, searchspace: SearchSpace, objective: Objective | None = None, measurements: DataFrame | None = None, pending_experiments: DataFrame | None = None)¶
Get the recommender for the next recommendation.
Returns the next recommender in row that has not yet been used for generating recommendations. In case of multiple consecutive calls, this means that the same recommender instance is returned until its
recommend()
method is called.See
baybe.recommenders.base.RecommenderProtocol.recommend()
for details on the method arguments.- Return type:
- 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:
- select_recommender(batch_size: int, searchspace: SearchSpace | None = None, objective: Objective | None = None, measurements: DataFrame | None = None, pending_experiments: DataFrame | None = None)[source]¶
Select a pure recommender for the given experimentation context.
See
baybe.recommenders.base.RecommenderProtocol.recommend()
for details on the method arguments.- Return type:
- to_json()¶
Create an object’s JSON representation.
- Return type:
- Returns:
The JSON representation as a string.
-
initial_recommender:
PureRecommender
¶ The initial recommender used by the meta recommender.
-
recommender:
PureRecommender
¶ The recommender used by the meta recommender after the switch.