A Theano-based Python implementation of Factorization Machines
Project description
pyfms
A Theano-based Python implementation of factorization machines, based on the model presented in Factorization Machines (Rendle 2010).
Features
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
Support for sparse data
Requirements
pyfms 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.
Installation
pyfms is available on PyPI, the Python Package Index.
$ pip install pyfms
Documentation
See documentation.md.
Example Usage
See example.py.
scikit-learn>=0.18 is required to run the example code.
Tests
Tests are in tests/.
# Run tests $ python -m unittest discover tests -v
License
pyfms has an MIT License.
See LICENSE.
Acknowledgments
RMSprop code is from Newmu/Theano-Tutorials.
Adam code is from Newmu/dcgan_code.
References
Rendle, S. 2010. “Factorization Machines.” In 2010 IEEE 10th International Conference on Data Mining (ICDM), 995–1000. doi:10.1109/ICDM.2010.127.