An implement of Factorization Machines (LibFM)
@zhengruifeng / (0)
An implement of Factorization Machines based on Scala and Spark MLlib.
Factorization Machine is a kind of state-of-the-art machine learning algorithm for multi-linear regression, and is widely used in recommendation systems.
Factorization Machines algorithm and its C++ implement LibFM (http://libfm.org/) works well in recent years' recommendation competitions.
A FMModel consist of three parts:
an Intercept (optional),
an one-way interactions weights like other linear models (optional),
a numFactors * numFeatures matrix representing the factors of each feature (mandatory).
I implement the training algorithm with SGD provided by MLlib's GradientDescent (to use MLlib's SGD, the model is encoded to a dense vector during training).
Steffen Rendle (2012): Factorization Machines with libFM, in ACM Trans. Intell. Syst. Technol., 3(3), May. [PDF]
This package doesn't have any releases published in the Spark Packages repo, or with maven coordinates supplied. You may have to build this package from source, or it may simply be a script. To use this Spark Package, please follow the instructions in the README.
No releases yet.