lenskit.algorithms.als.common#
Classes
|
Base class for ALS models. |
|
Context object for one half of an ALS training operation. |
|
Data for training the ALS model. |
- class lenskit.algorithms.als.common.TrainContext(label, matrix, left, right, reg, nrows, ncols, embed_size, regI)#
Bases:
NamedTuple
Context object for one half of an ALS training operation.
- Parameters:
- class lenskit.algorithms.als.common.TrainingData(users, items, ui_rates, iu_rates)#
Bases:
NamedTuple
Data for training the ALS model.
- Parameters:
users (Vocabulary)
items (Vocabulary)
ui_rates (Tensor)
iu_rates (Tensor)
- users: Vocabulary#
User ID mapping.
- items: Vocabulary#
Item ID mapping.
- to(device)#
Move the training data to another device.
- class lenskit.algorithms.als.common.ALSBase(features, *, epochs=10, reg=0.1, rng_spec=None, save_user_features=True)#
Bases:
MFPredictor
[Tensor
]Base class for ALS models.
- Parameters:
- users_: Vocabulary | None#
Users in the model (length=:math:m).
- items_: Vocabulary#
Items in the model (length=:math:n).
- fit(data, **kwargs)#
Run ALS to train a model.
- Parameters:
ratings – the ratings data frame.
data (Dataset)
- Returns:
The algorithm (for chaining).
- fit_iters(data, *, timer=None, **kwargs)#
Run ALS to train a model, yielding after each iteration.
- abstract prepare_data(data)#
Prepare data for training this model. This takes in the ratings, and is supposed to do two things:
Normalize or transform the rating/interaction data, as needed, for training.
Store any parameters learned from the normalization (e.g. means) in the appropriate member variables.
Return the training data object to use for model training.
- Parameters:
data (Dataset)
- Return type:
- initialize_params(data)#
Initialize the model parameters at the beginning of training.
- Parameters:
data (TrainingData)
- abstract initial_params(nrows, ncols)#
Compute initial parameter values of the specified shape.
- abstract als_half_epoch(epoch, context)#
Run one half of an ALS training epoch.
- Parameters:
epoch (int)
context (TrainContext)
- 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, they may be used to override or augment the model’s notion of a user’s preferences.
- Returns:
scores for the items, indexed by item id.
- Return type:
- abstract new_user_embedding(user, ratings)#
Generate an embedding for a user given their current ratings.