My implementation of Bayesian Factorization Machines (BFM), as well as alternate least squares (ALS), using NumPy.
- Install Python 3.12 via pyenv. See https://github.com/pyenv/pyenv for installation instructions.
- Install poetry. See https://python-poetry.org/docs/#installation for installation instructions.
- Run
poetry shell
to activate the virtual environment. - Run
poetry install
to install dependencies. - Run
poetry run pytest
to run the test scripts. FM models are trained using randomly generated data and their train RMSEs are visualized. The result figure will be saved in thetest/out
directory.
- S. Rendle, Factorization Machines, in 2010 IEEE International Conference on Data Mining (2010), pp. 995โ1000.
- S. Rendle, Z. Gantner, C. Freudenthaler, and L. Schmidt-Thieme, Fast Context-Aware Recommendations with Factorization Machines, in Proceedings of the 34th International ACM SIGIR Conference on Research and Development in Information Retrieval (2011), pp. 635โ644.
- S. Rendle, Factorization Machines with libFM, ACM Trans. Intell. Syst. Technol. 3, 1 (2012).
This project is licensed under the MIT license.