Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 1.79 KB

mf.rst

File metadata and controls

68 lines (48 loc) · 1.79 KB

Classic Matrix Factorization

LKPY provides classical matrix factorization implementations.

.. module:: lenskit.algorithms.mf_common

The :py:mod:`mf_common` module contains common support code for matrix factorization algorithms. This class, :py:class:`MFPredictor`, defines the parameters that are estimated during the :py:meth:`.Algorithm.fit` process on common matrix factorization algorithms.

.. autoclass:: MFPredictor
   :show-inheritance:
   :members:

.. module:: lenskit.algorithms.als

LensKit provides alternating least squares implementations of matrix factorization suitable for explicit feedback data. These implementations are parallelized with Numba, and perform best with the MKL from Conda.

.. autoclass:: BiasedMF
    :show-inheritance:
    :members:

.. autoclass:: ImplicitMF
    :show-inheritance:
    :members:

.. module:: lenskit.algorithms.svd

This code implements a traditional SVD using scikit-learn. It requires scikit-learn to be installed in order to function.

.. autoclass:: BiasedSVD
    :show-inheritance:
    :members:

.. module:: lenskit.algorithms.funksvd

FunkSVD is an SVD-like matrix factorization that uses stochastic gradient descent, configured much like coordinate descent, to train the user-feature and item-feature matrices. We generally don't recommend using it in new applications or experiments; the ALS-based algorithms are less sensitive to hyperparameters, and the TensorFlow algorithms provide more optimized gradient descent training of the same prediction model.

.. autoclass:: FunkSVD
    :show-inheritance:
    :members: