RankFM is a pure-python implementation of the general Factorization Machines model class described in (Rendle 2010) adapted for collaborative filtering recommendation/ranking problems with implicit feedback user-item interaction data. It uses the Bayesian Personalized Ranking (BPR-OPT) optimization criteria described in (Rendle 2009) to train model weights via Stochastic Gradient Descent (SGD). Attempts have been made to maintain a sklearn-like interface to the extent possible, and include useful helper/evaluation functions in addition to the main model class.
This package is currently under active development pre-release, and should not yet be considered stable. Release, build status, and PyPI version status will be added once the package gets to a stable and satisfactory state for an initial release. Stay tuned...