Python implementation of Iterative Soft-Thresholding Algorithm (ISTA) as a base class,Fast Iterative Soft-Thresholding Algorithm (FISTA) and Alternating directions method of multipliers (ADMM) algorithm as derived classes. This code provides an experimental sklearn-ish class for missing data imputation.
Notes:
- Missing values are represented by nan
- Julia code impute.jl found from the source (https://https://web.eecs.umich.edu/~fessler/course/551/julia/demo/09_lr_complete3.html)
- For additional detail,you may check the example Julia implementation here is quite helpful
import numpy as np
from soft_impute import Impute
X = np.arange(50).reshape(10, 5) * 1.0
# put a missing value
X[2, 0] = np.nan
clf.fit(X)
Ximputed=clf.transform()