Skip to content

Commit

Permalink
update README.md and docs
Browse files Browse the repository at this point in the history
  • Loading branch information
lbluque committed May 23, 2022
1 parent 4e922d0 commit 41ea49a
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 5 deletions.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ Available regression models
- Lasso (`sklearn` may be a better option)
- Group Lasso, Overlap Group Lasso & Sparse Group Lasso
- Adaptive versions of Lasso, Group Lasso, Overlap Group Lasso & Sparse Group Lasso
- Best subset selection, L1L0 & L2L0 (we recommend using `gurobi` for performance)
- Best subset selection, ridged best subset, L0, L1L0 & L2L0
(`gurobi` recommended for performance)
- Best group selection, ridged best group selection, grouped L0, grouped L2L0
(`gurobi` recommended for performance)

Installation
------------
Expand Down
6 changes: 3 additions & 3 deletions sparselm/model/miqp/best_subset.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ def _gen_hierarchy_constraints(self):


class RidgedBestSubsetSelection(BestSubsetSelection):
"""Best subset selection estimaor with ridge regularization."""
"""MIQP Best subset selection estimator with ridge regularization."""

def __init__(self, sparse_bound, alpha=1.0, big_M=1000, hierarchy=None,
ignore_psd_check=True, fit_intercept=False, normalize=False,
Expand All @@ -144,7 +144,7 @@ def __init__(self, sparse_bound, alpha=1.0, big_M=1000, hierarchy=None,
coefficient 0 depends on 1, and 2; 1 depends on 0, and 2 has no
dependence.
ignore_psd_check (bool):
Wether to ignore cvxpy's PSD checks of matrix used in quadratic
Whether to ignore cvxpy's PSD checks of matrix used in quadratic
form. Default is True to avoid raising errors for poorly
conditioned matrices. But if you want to be strict set to False.
fit_intercept (bool):
Expand Down Expand Up @@ -195,7 +195,7 @@ def _gen_objective(self, X, y):


class BestGroupSelection(BestSubsetSelection):
"""Best group selection estimator."""
"""MIQP Best group selection estimator."""

def __init__(self, groups, sparse_bound, big_M=1000, hierarchy=None,
ignore_psd_check=True, fit_intercept=False, normalize=False,
Expand Down
4 changes: 3 additions & 1 deletion sparselm/model/miqp/regularized_l0.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@


class RegularizedL0(CVXEstimator):
"""Implementation of l0 regularized estimator."""
"""Implementation of MIQP l0 regularized estimator."""

def __init__(self, alpha=1.0, big_M=1000, hierarchy=None, ignore_psd_check=True,
fit_intercept=False, normalize=False, copy_X=True, warm_start=False,
Expand Down Expand Up @@ -315,6 +315,8 @@ class L2L0(MixedL0):
Estimator with L2L0 regularization solved with mixed integer programming
proposed by Peichen Zhong.
https://arxiv.org/abs/2204.13789
Regularized model is:
||X * Beta - y||^2 + alpha * l0_ratio * ||Beta||_0
+ alpha * (1 - l0_ratio) * ||Beta||^2_2
Expand Down

0 comments on commit 41ea49a

Please sign in to comment.