Skip to content

MartinJakomin/SIMF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SIMF - Simultaneous Incremental Matrix Factorization

Dependencies:

The simf module runs in Python3 and requires the following modules:

  • numpy
  • scipy
  • matplotlib (optional)
  • tables (optional)

Quick-start

Get the latest version of simf from github:

git clone https://github.com/MartinJakomin/SIMF.git

Install it in development mode:

cd SIMF
pip install -e .

Test the installation:

python -c "import simf"

Jupyter notebook on mybinder.org

Binder

Try simf by running it in Binder.

Use

Start python and then run the following lines:

import simf
from scipy import sparse

R1 = sparse.random(1000, 1000)
R2 = sparse.random(1000, 1000)

o1 = simf.ObjectType('O1', 10)
o2 = simf.ObjectType('O2', 5)
o3 = simf.ObjectType('O3', 5)
r1 = simf.Relation(o1, o2, R1, weight=1)
r2 = simf.Relation(o1, o3, R2, weight=1)
data = [r1, r2]

model = simf.SIMF()
model.fit(data)
error = model.get_train_error()

For more use cases, see the examples folder.

Some of the graphs from the paper can be recreated by running the yelp.ipynb notebook.

How to cite

@article{jakomin2019,
    title     = {Simultaneous incremental matrix factorization for streaming recommender systems},
    author    = {Jakomin, Martin and Bosnić, Zoran and Curk, Tomaž},
    journal   = {},
    volume    = {},
    pages     = {},
    year      = {2018},
    note      = {Manuscript submitted for publication.},
}

About

SIMF using SGD

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages