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, damping, ...])

BiasedSVDScorer([config])

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

class lenskit.sklearn.svd.BiasedSVDConfig(embedding_size: 'int' = FieldInfo(annotation=NoneType, required=False, default=50, alias_priority=2, validation_alias=AliasChoices(choices=['embedding_size', 'features'])), damping: 'Damping' = 5, algorithm: "Literal['arpack', 'randomized']" = 'randomized', n_iter: 'int' = 5)#

Bases: object

Parameters:
embedding_size: int = FieldInfo(annotation=NoneType, required=False, default=50, alias_priority=2, validation_alias=AliasChoices(choices=['embedding_size', 'features']))#

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

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 lennskit.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: