CandidateRankingModel
- class rectools.models.ranking.candidate_ranking.CandidateRankingModel(candidate_generators: List[CandidateGenerator], splitter: Splitter, reranker: Reranker, sampler: Optional[NegativeSamplerBase] = None, feature_collector: Optional[CandidateFeatureCollector] = None, verbose: int = 0)[source]
Bases:
ModelBaseCandidate Ranking Model for recommendation systems.
- Inherited-members
- Parameters
candidate_generators (List[CandidateGenerator]) –
splitter (Splitter) –
reranker (Reranker) –
sampler (Optional[NegativeSamplerBase]) –
feature_collector (Optional[CandidateFeatureCollector]) –
verbose (int) –
Methods
dumps()Serialize model to bytes.
fit(dataset, *args, **kwargs)Fit model.
fit_partial(dataset, *args, **kwargs)Fit model.
from_config(config)Create model from config.
from_params(params[, sep])Create model from parameters.
get_config([mode, simple_types])Return model config.
Prepare candidates with target values set from first-stage candidate generators.
get_params([simple_types, sep])Return model parameters.
get_train_with_targets_for_reranker(dataset)Prepare training data for the reranker.
load(f)Load model from file.
loads(data)Load model from bytes.
recommend(users, dataset, k, filter_viewed)Generate k recommendations for specified users using the dataset.
recommend_to_items(target_items, dataset, k)Recommend items for target items.
save(f)Save model to file.
Split interactions into history and train sets for first-stage and second-stage model training.
Attributes
recommends_for_coldrecommends_for_warmrequire_recommend_contextIndicates whether recommendation context is required for predictions.
- get_full_candidates_with_targets(train_targets: DataFrame, history_dataset: Dataset) DataFrame[source]
Prepare candidates with target values set from first-stage candidate generators.
- Parameters
train_targets (pd.DataFrame) – DataFrame containing training targets.
history_dataset (Dataset) – The dataset to fit the candidate generators on.
- Returns
DataFrame with target values set.
- Return type
pd.DataFrame
- get_train_with_targets_for_reranker(dataset: Dataset) DataFrame[source]
Prepare training data for the reranker.
- Parameters
dataset (Dataset) – The dataset to prepare training data from.
- Returns
DataFrame containing training data with targets and 2 extra columns: Columns.User, Columns.Item.
- Return type
pd.DataFrame
- recommend(users: Union[Sequence[Hashable], ndarray], dataset: Dataset, k: int, filter_viewed: bool, items_to_recommend: Optional[Union[Sequence[Hashable], ndarray]] = None, add_rank_col: bool = True, on_unsupported_targets: Literal['ignore', 'warn', 'raise'] = 'raise', context: Optional[DataFrame] = None, force_fit_candidate_generators: bool = False) DataFrame[source]
Generate k recommendations for specified users using the dataset.
- Parameters
users (ExternalIds) – List of user ids for whom recommendations are generated.
dataset (Dataset) – Dataset containing user-item interaction data and possibly additional features.
k (int) – The number of recommendations to generate for each user.
filter_viewed (bool) – If true, viewed items will be excluded from the recommendations.
items_to_recommend (ExternalIds, optional, default
None) – List of item ids from which recommendations should be generated. If not provided, it will include all items available in the dataset.add_rank_col (bool, default
True) – If true, a rank column is added to the returned DataFrame. The rank column shows the position of the item in the sorted order of predictions.on_unsupported_targets (ErrorBehaviour, default
"raise") – Controls the behavior when a target is encountered during prediction, for which the Model makes no prediction. If “raise”, a ValueError is raised. If “warn”, it outputs a warning, and if “ignore”, it silently continues.context (pd.DataFrame, optional, default
None) – Is not supported for this model. If provided, it will be ignored.force_fit_candidate_generators (bool, default
False) – If true, the candidate generators are fitted even if they are already fitted.
- Returns
DataFrame with the recommended items for users.
- Return type
pd.DataFrame