lenskit.algorithms.knn.user#
User-based k-NN collaborative filtering.
Functions
|
Classes
|
Dense user ratings. |
|
User-user nearest-neighbor collaborative filtering with ratings. |
- class lenskit.algorithms.knn.user.UserUser(nnbrs, min_nbrs=1, min_sim=1e-06, feedback='explicit', **kwargs)#
Bases:
Predictor
User-user nearest-neighbor collaborative filtering with ratings. This user-user implementation is not terribly configurable; it hard-codes design decisions found to work well in the previous Java-based LensKit code.
- Parameters:
nnbrs (int) – the maximum number of neighbors for scoring each item (
None
for unlimited).min_nbrs (int) – The minimum number of neighbors for scoring each item.
min_sim (float) – Minimum similarity threshold for considering a neighbor. Must be positive; if less than the smallest 32-bit normal (\(1.175 \times 10^{-38}\)), is clamped to that value.
feedback (Literal['explicit', 'implicit']) –
Control how feedback should be interpreted. Specifies defaults for the other settings, which can be overridden individually; can be one of the following values:
explicit
Configure for explicit-feedback mode: use rating values, center ratings, and use the
weighted-average
aggregate method for prediction. This is the default setting.implicit
Configure for implicit-feedback mode: ignore rating values, do not center ratings, and use the
sum
aggregate method for prediction.
center – whether to normalize (mean-center) rating vectors. Turn this off when working with unary data and other data types that don’t respond well to centering.
aggregate – the type of aggregation to do. Can be
weighted-average
orsum
.use_ratings – whether or not to use rating values; default is
True
. IfFalse
, it ignores rating values and treates every present rating as 1.
- IGNORED_PARAMS = ['feedback']#
Names of parameters to ignore in
get_params()
.
- EXTRA_PARAMS = ['center', 'aggregate', 'use_ratings']#
Names of extra parameters to include in
get_params()
. Useful when the constructor takes**kwargs
.
- users_: Vocabulary#
The index of user IDs.
- items_: Vocabulary#
The index of item IDs.
- fit(data, **kwargs)#
“Train” a user-user CF model. This memorizes the rating data in a format that is usable for future computations.
- Parameters:
ratings (pandas.DataFrame) – (user, item, rating) data for collaborative filtering.
data (Dataset)
- Return type:
- predict_for_user(user, items, ratings=None)#
Compute predictions for a user and items.
- Parameters:
user – the user ID
items (array-like) – the items to predict
ratings (pandas.Series) – the user’s ratings (indexed by item id); if provided, will be used to recompute the user’s bias at prediction time.
- Returns:
scores for the items, indexed by item id.
- Return type: