LIBMF: A Matrix-factorization Library for Recommender Systems

Machine Learning Group at National Taiwan University

Version 2.01 released on February 20, 2016. LIBMF can solve more formulations than its previous versions and do disk-level training. Please check [3] for the details.


LIBMF is an open source tool for approximating an incomplete matrix using the product of two matrices in a latent space. Matrix factorization is commonly used in recommender systems. Main features of LIBMF include


The current release (Version 2.01, February 2016) of LIBMF can be obtained by downloading the zip file or tar.gz file. You can also check this github directory.

Please read the COPYRIGHT notice before using LIBMF.  Note that we use the BSD license.


The algorithm of LIBMF is described in the following papers.

[1] W.-S. Chin, Y. Zhuang, Y.-C. Juan, and C.-J. Lin. A Fast Parallel Stochastic Gradient Method for Matrix Factorization in Shared Memory Systems. ACM TIST, 2015.

[2] W.-S. Chin, Y. Zhuang, Y.-C. Juan, and C.-J. Lin. A Learning-rate Schedule for Stochastic Gradient Methods to Matrix Factorization. PAKDD, 2015.

[3] W.-S. Chin, B.-W. Yuan, M.-Y. Yang, Y. Zhuang, Y.-C. Juan, and C.-J. Lin. LIBMF: A Library for Parallel Matrix Factorization in Shared-memory Systems. JMLR, 2016.

See README in the package for the practical use.

Interfaces to LIBMF

Language Description Maintainers and Their Affiliation Supported LIBMF version Link
R R interface to LIBMF Yixuan Qiu from Purdue University 2.01 R LIBMF
Python Python interface to LIBMF Sam Royston 2.01 Python LIBMF


Yu-Chin Juan, Wei-Sheng Chin, Yong Zhuang, Bo-Wen Yuan, Meng-Yuan Yang, and Chih-Jen Lin.

Please send comments and suggestions to Chih-Jen Lin.