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.
Deprecated! Use
select_recommender()
orget_non_meta_recommender()
instead.Deprecated! Use
select_recommender()
orget_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
The initial recommender used by the meta recommender.
The recommender used by the meta recommender after the switch.
The number of experiments required for the recommender to switch.
Determines if the recommender should remain switched even if the number of experiments falls below the threshold value in subsequent calls.
Boolean indicating if the meta recommender is stateful.
- __init__(initial_recommender: RecommenderProtocol = NOTHING, recommender: RecommenderProtocol = NOTHING, switch_after: int = 1, remain_switched: bool = False, _has_switched: bool = False)¶
Method generated by attrs for class TwoPhaseMetaRecommender.
For details on the parameters, see Public attributes and properties.
- get_current_recommender()¶
Deprecated! Use
select_recommender()
orget_non_meta_recommender()
instead.- Return type:
- get_next_recommender()¶
Deprecated! Use
select_recommender()
orget_non_meta_recommender()
instead.- Return type:
- 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:
- 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 | None = None, searchspace: SearchSpace | None = None, objective: Objective | None = None, measurements: DataFrame | None = None, pending_experiments: DataFrame | None = None)[source]¶
Select a 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:
RecommenderProtocol
¶ The initial recommender used by the meta recommender.
-
recommender:
RecommenderProtocol
¶ The recommender used by the meta recommender after the switch.