skglm
skglm copied to clipboard
Fast and modular sklearn replacement for generalized linear models
This will cause the solver not to move since 0 is always a critical point
``` import time import numpy as np from numpy.linalg import norm from sklearn.linear_model import Lasso as Lasso_sk from skglm.estimators import Lasso n_samples = 100 n_features = 10_000 X = np.random.normal(0,...
Currently FISTA relies on "global" Lipschitz constant. For non-Lipschitz datafits (eg: Poisson), this is a problem, hence the support of line search.
Currently, users are not explicitly warned when an unsupported solver is used with some penalties or datafits. We should write some form of mechanism (a dispatcher?) which raises an exception...
Doable after merging #68 1. Expose a ``fit_intercept`` argument in ``SqrtLasso`` 2. Handle ``fit_intercept`` in the ``path`` method 3. Set ``intercept_`` in the ``fit`` method
As investigated in #59 through timing and benchmarks, fitting a ``gram_cd_solver`` on a sparse dataset comes with a big overhead of computing the gram matrix, as opposed to the dense...
It is not obvious that `ws_strategy=subdiff` won't work for some penalties (e.g. L0.5, L2/3, ...). Throwing an error and issuing a warning in this situation would prevent users from spending...
It seems to work very well: https://github.com/scikit-learn/scikit-learn/pull/23507