lenskit.funksvd#

FunkSVD (biased MF).

Classes

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

Configuration for FunkSVDScorer.

FunkSVDScorer(*args, **kwargs)

FunkSVD explicit-feedback matrix factoriation.

FunkSVDTrainingData(users, items, ratings)

FunkSVDTrainingParams(learning_rate, ...)

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

Bases: BaseModel

Configuration for FunkSVDScorer.

Parameters:
embedding_size: Annotated[int, Gt(gt=0)]#

Number of latent features.

epochs: Annotated[int, Gt(gt=0)]#

Number of training epochs (per feature).

learning_rate: Annotated[float, Gt(gt=0)]#

Gradient descent learning rate.

regularization: Annotated[float, Ge(ge=0)]#

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.FunkSVDTrainingParams(learning_rate: float, regularization: float, rating_min: float, rating_max: float)#

Bases: object

Parameters:
class lenskit.funksvd.FunkSVDTrainingData(users: pyarrow.lib.Int32Array, items: pyarrow.lib.Int32Array, ratings: pyarrow.lib.FloatArray)#

Bases: object

Parameters:
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: