lenskit.funksvd#

FunkSVD (biased MF).

Attributes#

Classes#

FunkSVDConfig

Configuration for FunkSVDScorer.

FunkSVDTrainingParams

FunkSVDTrainingData

FunkSVDScorer

FunkSVD explicit-feedback matrix factoriation. FunkSVD is a regularized

Module Contents#

lenskit.funksvd.INITIAL_VALUE = 0.1#
class lenskit.funksvd.FunkSVDConfig#

Bases: lenskit.config.common.EmbeddingSizeMixin, pydantic.BaseModel

Configuration for FunkSVDScorer.

embedding_size: pydantic.PositiveInt#

Number of latent features.

epochs: pydantic.PositiveInt = 100#

Number of training epochs (per feature).

learning_rate: pydantic.PositiveFloat = 0.001#

Gradient descent learning rate.

regularization: pydantic.NonNegativeFloat = 0.015#

Parameter regularization.

damping: lenskit.basic.Damping = 5.0#

Bias damping term.

range: tuple[float, float] | None = None#

Min/max range of ratings to clamp output.

class lenskit.funksvd.FunkSVDTrainingParams#
learning_rate: float#
regularization: float#
rating_min: float#
rating_max: float#
class lenskit.funksvd.FunkSVDTrainingData#
users: pyarrow.Int32Array#
items: pyarrow.Int32Array#
ratings: pyarrow.FloatArray#
class lenskit.funksvd.FunkSVDScorer(config=None, **kwargs)#

Bases: lenskit.training.Trainable, lenskit.pipeline.Component[lenskit.data.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).
Parameters:
  • config (object | None)

  • kwargs (Any)

config: FunkSVDConfig#

The component configuration object. Component classes that support configuration must redefine this attribute with their specific configuration class type, which can be a Python dataclass or a Pydantic model class.

bias: lenskit.basic.BiasModel#
users: lenskit.data.Vocabulary#
user_embeddings: lenskit.data.types.NPMatrix#
items: lenskit.data.Vocabulary#
item_embeddings: lenskit.data.types.NPMatrix#
is_trained()#

Query if this component has already been trained.

train(data, options=TrainingOptions())#

Train a FunkSVD model.

Parameters:
__call__(query, items)#

Run the pipeline’s operation and produce a result. This is the key method for components to implement.

Parameters:
Return type:

lenskit.data.ItemList

Exported Aliases#

class lenskit.funksvd.FunkSVDTrainer#

Re-exported alias for lenskit._accel.FunkSVDTrainer.

class lenskit.funksvd.BiasModel#

Re-exported alias for lenskit.basic.BiasModel.

lenskit.funksvd.Damping#

Re-exported alias for lenskit.basic.Damping.

class lenskit.funksvd.EmbeddingSizeMixin#

Re-exported alias for lenskit.config.common.EmbeddingSizeMixin.

class lenskit.funksvd.Dataset#

Re-exported alias for lenskit.data.Dataset.

class lenskit.funksvd.ItemList#

Re-exported alias for lenskit.data.ItemList.

lenskit.funksvd.QueryInput#

Re-exported alias for lenskit.data.QueryInput.

class lenskit.funksvd.RecQuery#

Re-exported alias for lenskit.data.RecQuery.

class lenskit.funksvd.Vocabulary#

Re-exported alias for lenskit.data.Vocabulary.

lenskit.funksvd.NPMatrix#

Re-exported alias for lenskit.data.types.NPMatrix.

class lenskit.funksvd.Stopwatch#

Re-exported alias for lenskit.logging.Stopwatch.

lenskit.funksvd.get_logger()#

Re-exported alias for lenskit.logging.get_logger().

lenskit.funksvd.item_progress()#

Re-exported alias for lenskit.logging.progress._dispatch.item_progress().

class lenskit.funksvd.Component#

Re-exported alias for lenskit.pipeline.Component.

class lenskit.funksvd.Trainable#

Re-exported alias for lenskit.training.Trainable.

class lenskit.funksvd.TrainingOptions#

Re-exported alias for lenskit.training.TrainingOptions.