This is a python/cython implementation of the Sparse Group Inductive Matrix Completion, a matrix completion algorithm, which utilizes side channel features to infer missing entries in the target sparse matrix.
The main advantage of SGIMC is the built-in model selection capability both on individual feature and group level.
This is a repository for a paper on Sparse Group IMC (SGIMC), and therefore has special folder structure:
- sgimc -- this is the main module, which implements the necessary sparse-matrix operations and the key algorithms for experimenting with SGIMC;
- experiments -- this folder hold all notebooks and scripts for prototyping and runnig experiments;
- report -- the .tex of the paper and the supplementary materials is kept here;
- plots -- all tables (in .tex) and plots (in .pdf) should be placed in this folder and it is required that they have corresponding notebooks that generate them in the experiments folder.
To install the module just run
make
This will compile and install the sgimc
python package. All experiments with SGIMC
must import it something like this:
import sgimc
# or
from sgimc import imc_descent
# or
from sgimc.qa_objective import QAObjectiveL2Loss
# or
from sgimc.algorithm.admm import sub_0_lbfgs
At the present moment (2017-11-13) the package is yet to be properly documented.