Scikit-learn compatible implementation of nonconvex sparse estimators for single- and multi-task linear regressions (e.g. SCAD, MCP, l1-group-SCAD, etc).
Project description
ncvx-sparse
ncvx-sparse is a Python library for learning high-dimensional linear regresion models (single- and -multi-task) with nonconvex sparsity (e.g. SCAD, MCP, l1-group SCAD). Solvers are written in Cython and implementation follows the Scikit-learn API.
Why imposing sparsity with nonconvex penalties (e.g. LASSO) ? Because…
Currently, the ncvx-sparse solves the following problems:
Single-task linear regression,
\arg \min_{\beta \in \mathbb{R}^p} \frac{1}{2n} \sum_i (y_i - x_i^{\top} \beta)^2 + \lambda \rho P(\beta) + \frac{1-\rho}{2} ||\beta||_2^2
where P stands for:
SCAD (SCADnet estimator), with parameter $gamma > 2$.
Multi-task linear regression,
\arg \min_{\beta = (\beta_1 \dots \beta_k) \in \mathbb{R}^{K \times p}} \frac{1}{2} \sum_j^K \sum_i^n (y_{ik} - x_{ik}^{\top} \beta_j)^2
where P stands for:
SCAD-l1 i.e. SCAD on the l1-norm of p-th feature vector accross the K tasks,
SCAD-l2, same as SCAD-l1 but with respect to the l2-norm (not squared).
Install the released version
Create a Python=3.6 environment (e.g. Anaconda), and install ncvx-sparse from pip. with the following command line in your Anaconda prompt:
pip install -U ncvx-sparse
Example
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ncvx_sparse-0.0.1.dev3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44a3dd0c55b4c05a9c257d206137c7b9c38b5c1c2db09ebe414c70da09b0152c |
|
MD5 | a3660f19a302e94e48e8a2ce33d462dc |
|
BLAKE2b-256 | d403187b0a9563634c27cfd5147d1bff51b66d23deae2e92bd8bea434497d914 |