lenskit.sklearn.svd#

Singular value decomposition for explicit feedback.

This module contains a truncated SVD explicit-feedback scorer built on sklearn.decomposition.TruncatedSVD.

Classes

BiasedSVDConfig(*[, embedding_size, ...])

BiasedSVDScorer([config])

Biased matrix factorization for explicit feedback using SciKit-Learn's TruncatedSVD.

class lenskit.sklearn.svd.BiasedSVDConfig(*, embedding_size=50, damping=5, algorithm='randomized', n_iter=5)#

Bases: EmbeddingSizeMixin, BaseModel

Parameters:
embedding_size: int#

The dimension of user and item embeddings (number of latent features to learn).

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class lenskit.sklearn.svd.BiasedSVDScorer(config=None, **kwargs)#

Bases: Component[ItemList, …], Trainable

Biased matrix factorization for explicit feedback using SciKit-Learn’s TruncatedSVD. It operates by first computing the bias, then computing the SVD of the bias residuals.

You’ll generally want one of the iterative SVD implementations such as lenskit.als.BiasedMFScorer; this is here primarily as an example and for cases where you want to evaluate a pure SVD implementation.

Stability:
Caller (see Stability Levels).
Parameters:
train(data, options=TrainingOptions(retrain=True, device=None, rng=None))#

Train the model to learn its parameters from a training dataset.

Parameters: