Skip to main content

A Theano-based Python implementation of Factorization Machines

Project description

https://github.com/dstein64/pyfms/workflows/build/badge.svg

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfms-0.4.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

pyfms-0.4.0-py2.py3-none-any.whl (8.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pyfms-0.4.0.tar.gz.

File metadata

  • Download URL: pyfms-0.4.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5

File hashes

Hashes for pyfms-0.4.0.tar.gz
Algorithm Hash digest
SHA256 50b2795075c4b7bd435b4ad5269e3e344dce30d77cd68eafa96b3d414803efa8
MD5 574de740f69ba1fd92d19e04fa60bf95
BLAKE2b-256 011b93e2988e2ba482bdbef13f22e63cf316929d1e741437ec79d3ae4c3e6edf

See more details on using hashes here.

File details

Details for the file pyfms-0.4.0-py2.py3-none-any.whl.

File metadata

  • Download URL: pyfms-0.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.2

File hashes

Hashes for pyfms-0.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1803933a619920226949e2184083a809febe762b7a90b7111bfe13e41eb090c8
MD5 67302d688ac608fcf369e591422a3603
BLAKE2b-256 69f62bde671dd46f8981827ab3fa0666a5c3feb28e7ecb4d3ce5ed4928b9e647

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page