itemknn_incremental
logger = logging.getLogger(__name__) module-attribute ¶
ItemKNNIncremental ¶
Bases: ItemKNN, IncrementalTrainingMixin
Incremental version of ItemKNN algorithm.
This class extends the ItemKNN algorithm to allow for incremental updates to the model. The incremental updates are done by updating the historical data with the new data by appending the new data to the historical data.
Source code in src/recnexteval/algorithms/itemknn/itemknn_incremental.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | |
IS_BASE = False class-attribute instance-attribute ¶
X_ = None instance-attribute ¶
pad_with_popularity = pad_with_popularity instance-attribute ¶
name property ¶
Name of the object's class.
:return: Name of the object's class :rtype: str
params property ¶
Parameters of the object.
:return: Parameters of the object :rtype: dict
identifier property ¶
Identifier of the object.
Identifier is made by combining the class name with the parameters passed at construction time.
Constructed by recreating the initialisation call. Example: Algorithm(param_1=value)
:return: Identifier of the object :rtype: str
ITEM_USER_BASED = ItemUserBasedEnum.ITEM class-attribute instance-attribute ¶
seed = 42 instance-attribute ¶
rand_gen = np.random.default_rng(seed=(self.seed)) instance-attribute ¶
description property ¶
Description of the algorithm.
:return: Description of the algorithm :rtype: str
K = K instance-attribute ¶
similarity_matrix_ instance-attribute ¶
get_popularity_scores(X) ¶
Compute a popularity-based scoring vector for items.
This method calculates normalized interaction counts for each item, selects the top-K most popular items, and returns a vector where only those top-K items have their normalized scores (others are 0). This is used to pad predictions for unseen users with popular items.
:param X: The interaction matrix (user-item) to compute popularity from. :type X: csr_matrix :return: A 1D array of shape (num_items,) with popularity scores for top-K items. :rtype: np.ndarray
Source code in src/recnexteval/algorithms/core/popularity_padding.py
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
get_params() abstractmethod ¶
Get the parameters of the object.
:return: Parameters of the object :rtype: dict
Source code in src/recnexteval/models/base.py
38 39 40 41 42 43 44 45 | |
get_default_params() classmethod ¶
Get default parameters without instantiation.
Uses inspect.signature to extract init parameters and their default values without instantiating the class.
Returns:
| Type | Description |
|---|---|
dict | Dictionary of parameter names to default values. |
dict | Parameters without defaults map to None. |
Source code in src/recnexteval/algorithms/core/base.py
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | |
set_params(**params) ¶
Set the parameters of the estimator.
:param params: Estimator parameters :type params: dict
Source code in src/recnexteval/algorithms/core/base.py
94 95 96 97 98 99 100 | |
fit(X) ¶
Fit the model to the input interaction matrix.
The input data is transformed to the expected type using :meth:_transform_fit_input. The fitting is done using the :meth:_fit method. Finally the method checks that the fitting was successful using :meth:_check_fit_complete.
:param X: The interactions to fit the model on. :type X: InteractionMatrix :return: Fitted algorithm :rtype: Algorithm
Source code in src/recnexteval/algorithms/core/base.py
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | |
predict(X) ¶
Predicts scores, given the interactions in X
The input data is transformed to the expected type using :meth:_transform_predict_input. The predictions are made using the :meth:_predict method. Finally the predictions are then padded with random items for users that are not in the training data.
:param X: interactions to predict from. :type X: InteractionMatrix :return: The recommendation scores in a sparse matrix format. :rtype: csr_matrix
Source code in src/recnexteval/algorithms/core/base.py
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | |