A Theano-based Python implementation of factorization machines, based on the model presented in Factorization Machines (Rendle 2010).
- Sample weighting
- For binary classification, this implementation uses a logit function combined with a cross entropy loss function.
- Extensibility of algorithms for: regularization, loss function optimization, and the error function
PyFactorizationMachines supports Python 2.7 and Python 3.x.
Linux and Mac are supported.
Windows is supported with Theano properly installed. The recommended way to install Theano on Windows is using Anaconda.
> conda install theano
Other operating systems may be compatible if Theano can be properly installed.
pyfms is available on PyPI, the Python Package Index.
$ pip install pyfms
See documentation.md.
See example.py.
scikit-learn>=0.18 is required to run the example code.
PyFactorizationMachines has an MIT License.
See LICENSE.
RMSprop code is from Newmu/Theano-Tutorials.
Adam code is from Newmu/dcgan_code.
Rendle, S. 2010. “Factorization Machines.” In 2010 IEEE 10th International Conference on Data Mining (ICDM), 995–1000. doi:10.1109/ICDM.2010.127.