This is the Julia Repository for general low-rank Matrix/Tensor Completion (with/without Side Information). The main interface is:
Impute(A,k;method=:fastImpute,kwargs)
A
is the Matrix of sizen x m
/ Tensor of sizen x m x p
with missing entries. The entries missing should be of type Missing.k
is the desired integer rank of fitting. For Tensors, this is currently assumed to be the canonical CP/Kruskal rank.kwargs
are named optional arguments to specify hyperparameters for each method. For the specific names of the hyperparameters, please see the methods listed below.method
is the keyword for specifying the low rank imputation method. Currently the following methods are implemented:- fastImpute (Fast Exact Matrix Completion: A Unifying Optimization Framework).
- The hyperparameters are:
lr
(learning rate),B
(side information matrix on the columns of sizem x s
, default none),approx
(T/F, whether approximately low rank or perfectly low rank), andγ
(regularization parameter).
- The hyperparameters are:
- fastImputeT (Tensor Completion based on fastImpute)
- The hyperparameters are:
lr
(learning rate), andγ
(regularization parameter).
- The hyperparameters are:
- (Not Completed) softImpute (Matrix Completion and Low-Rank SVD via Fast Alternating Least Squares).
- The hyperparameter arguments are:
λ
(regularization parameter).
- The hyperparameter arguments are:
- fastImpute (Fast Exact Matrix Completion: A Unifying Optimization Framework).
Current version is tested on Julia v1.2.
R package fastImpute
would be available soon.