sparse-lm includes several (structured) sparse linear regression estimators that are absent in the
sklearn.linear_model
module. The estimators in sparse-lm are designed to fit right into
scikit-learn, but the underlying optimization problem is expressed and
solved by leveraging cvxpy.
- Lasso, Group Lasso, Overlap Group Lasso, Sparse Group Lasso & Ridged Group Lasso.
- Adaptive versions of Lasso, Group Lasso, Overlap Group Lasso, Sparse Group Lasso & Ridged Group Lasso.
- Best Subset Selection, Ridged Best Subset, L0, L1L0 & L2L0 (all with optional grouping of parameters)
sparse-lm is available on PyPI, and can be installed via pip:
pip install sparse-lm
Additional information on installation can be found the documentation here.
If you already use scikit-learn, using sparse-lm will be very easy. Just use any model like you would any linear model in scikit-learn:
import numpy as np
from sklearn.datasets import make_regression
from sklearn.model_selection import GridSearchCV
from sparselm.model import AdaptiveLasso
X, y = make_regression(n_samples=100, n_features=80, n_informative=10, random_state=0)
alasso = AdaptiveLasso(fit_intercept=False)
param_grid = {'alpha': np.logspace(-8, 2, 10)}
cvsearch = GridSearchCV(alasso, param_grid)
cvsearch.fit(X, y)
print(cvsearch.best_params_)
For more details on use and functionality have a look at the examples and API sections of the documentation.
We welcome any contributions that you think may improve the package! Please have a look at the contribution guidelines in the documentation.