itemknn_static
logger = logging.getLogger(__name__) module-attribute ¶
ItemKNNStatic ¶
Bases: ItemKNN
Static version of ItemKNN algorithm.
This class extends the ItemKNN algorithm to only fit the model once. fit will only fit the model once and will not update the model with new data. The purpose is to make the training data static and not update the model with new data.
Source code in src/recnexteval/algorithms/itemknn/itemknn_static.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
IS_BASE = False class-attribute 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 ¶
fit(X) ¶
Source code in src/recnexteval/algorithms/itemknn/itemknn_static.py
25 26 27 28 29 30 31 | |
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 | |
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 | |