python-libmf
python-libmf copied to clipboard
Python bindings to the libmf c++ repo for Matrix Factorization. libmf is fast, highly parallel, and can support factoring large matrices without holding them all in memory.
install with pip
pip install libmf
Or install with setup.py
python setup.py install
Or compile from source
Still easy, you just need a standard c++ compiler, and you need to make sure that your mf.py file can find the libmf.so file
$ cd python-libmf
$ g++ --std=c++11 src/*.cpp -shared -o libmf.so
That should create a python-libmf.so file which mf.py will use to interface with libmf. Make sure you know where this file is, because mf.py needs to reference it.
After compilation try running:
$ python tests/mf_tests.py
if these work then you are good to go!
>>> from libmf import mf
>>> engine = mf.MF()
>>> engine.fit(data)
>>> engine.dict(ind)
data is a sparse numpy array consisting of data matrix indices x and y and a corresponding value. So each row is: (x,y,v).
data.shape => (x, 3) where x is the number of observations
ind is a sparse numpy array of indices specifying where we want to predict unobserved values