ModelBase
- class rectools.models.base.ModelBase(*args: Any, verbose: int = 0, **kwargs: Any)[source]
Bases:
objectBase model class.
Warning: This class should not be used directly. Use derived classes instead.
- Inherited-members
- Parameters
args (Any) –
verbose (int) –
kwargs (Any) –
Methods
fit(dataset, *args, **kwargs)Fit model.
recommend(users, dataset, k, filter_viewed)Recommend items for users.
recommend_to_items(target_items, dataset, k)Recommend items for target items.
- fit(dataset: Dataset, *args: Any, **kwargs: Any) T[source]
Fit model.
- Parameters
dataset (Dataset) – Dataset with input data.
self (T) –
args (Any) –
kwargs (Any) –
- Return type
self
- 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) DataFrame[source]
Recommend items for users.
To use this method model must be fitted.
- Parameters
users (np.ndarray) – Array of external user ids to recommend for.
dataset (Dataset) – Dataset with input data. Usually it’s the same dataset that was used to fit model.
k (int) – Derived number of recommendations for every user. Pay attention that in some cases real number of recommendations may be less than k.
filter_viewed (bool) – Whether to filter from recommendations items that user has already interacted with.
items_to_recommend (np.ndarray, optional) – Whitelist of item external ids. If given, only these items will be used for recommendations. Otherwise all items from dataset will be used.
add_rank_col (bool, default True) – Whether to add rank column to recommendations. If True column Columns.Rank will be added. This column contain integers from 1 to
number of user recommendations. In any case recommendations are sorted per rank for every user. The lesser the rank the more recommendation is relevant.
- Returns
Recommendations table with columns Columns.User, Columns.Item, Columns.Score[, Columns.Rank]. 1st column contains external user ids, 2nd - external ids of recommended items sorted for each user by relevance, 3rd - score that model gives for the user-item pair, 4th (present only if add_rank_col is
True) - integers from1to number of user recommendations. Recommendations for every user are always sorted by relevance.- Return type
pd.DataFrame
- Raises
NotFittedError – If called for not fitted model.
- recommend_to_items(target_items: Union[Sequence[Hashable], ndarray], dataset: Dataset, k: int, filter_itself: bool = True, items_to_recommend: Optional[Union[Sequence[Hashable], ndarray]] = None, add_rank_col: bool = True) DataFrame[source]
Recommend items for target items.
To use this method model must be fitted.
- Parameters
target_items (np.ndarray) – Array of external item ids to recommend for.
dataset (Dataset) – Dataset with input data. Usually it’s the same dataset that was used to fit model.
k (int) – Derived number of recommendations for every target item. Pay attention that in some cases real number of recommendations may be less than k.
filter_itself (bool, default True) – If True, item will be excluded from recommendations to itself.
items_to_recommend (np.ndarray, optional, default None) – Whitelist of item external ids. If given, only these items will be used for recommendations. Otherwise all items from dataset will be used.
add_rank_col (bool, default True) – Whether to add rank column to recommendations. If True column Columns.Rank will be added. This column contain integers from 1 to
number of item recommendations. In any case recommendations are sorted per rank for every target item. Less rank means more relevant recommendation.
- Returns
Recommendations table with columns Columns.TargetItem, Columns.Item, Columns.Score, [,`Columns.Rank`]. 1st column contains external target item ids, 2nd - external ids of recommended items sorted for each target item by relevance, 3rd - score that model gives for the target-item pair, 4th (present only if add_rank_col is
True) - integers from 1 to number of recommendations. Recommendations for every target item are always sorted by relevance.- Return type
pd.DataFrame
- Raises
NotFittedError – If called for not fitted model.