lenskit.funksvd#

FunkSVD (biased MF).

Functions

make_params(niters, lrate, reg, range)

train(ctx, params, model, timer)

Classes

Context(*args, **kwargs)

FunkSVDConfig(*[, features, epochs, ...])

Configuration for FunkSVDScorer.

FunkSVDScorer(*args, **kwargs)

FunkSVD explicit-feedback matrix factoriation.

Model(*args, **kwargs)

Internal model class for training SGD MF.

class lenskit.funksvd.FunkSVDConfig(*, features=50, epochs=100, learning_rate=0.001, regularization=0.015, damping=5.0, range=None)#

Bases: BaseModel

Configuration for FunkSVDScorer.

Parameters:
features: int#

Number of latent features.

epochs: int#

Number of training epochs (per feature).

learning_rate: float#

Gradient descent learning rate.

regularization: float#

Parameter regularization.

damping: float | dict[Literal['user', 'item'], float]#

Bias damping term.

range: tuple[float, float] | None#

Min/max range of ratings to clamp output.

model_config: ClassVar[ConfigDict] = {}#

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

class lenskit.funksvd.Model(*args, **kwargs)#

Bases: Model

Internal model class for training SGD MF.

class lenskit.funksvd.FunkSVDScorer(*args, **kwargs)#

Bases: Trainable, Component[ItemList, …]

FunkSVD explicit-feedback matrix factoriation. FunkSVD is a regularized biased matrix factorization technique trained with featurewise stochastic gradient descent.

See the base class MFPredictor for documentation on the estimated parameters you can extract from a trained model.

Deprecated since version LKPY: This scorer is kept around for historical comparability, but ALS BiasedMF is usually a better option.

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

Train a FunkSVD model.

Parameters: