skglm.GroupLasso¶
- class skglm.GroupLasso(groups, alpha=1.0, weights=None, max_iter=50, max_epochs=50000, p0=10, verbose=0, tol=0.0001, positive=False, fit_intercept=True, warm_start=False, ws_strategy='subdiff')[source]¶
GroupLasso estimator based on Celer solver and primal extrapolation.
The optimization objective for GroupLasso is:
`1 / (2 xx n_"samples") ||y - X w||_2 ^ 2 + alpha \sum_g weights_g ||w_{[g]}||_2`with `w_{[g]}` the coefficients of the g-th group.
- Parameters:
- groupsint | list of ints | list of lists of ints
Partition of features used in the penalty on
w
. If an int is passed, groups are contiguous blocks of features, of sizegroups
. If a list of ints is passed, groups are assumed to be contiguous, group numberg
being of sizegroups[g]
. If a list of lists of ints is passed,groups[g]
contains the feature indices of the group numberg
.- alphafloat, optional
Penalty strength.
- weightsarray, shape (n_groups,), optional (default=None)
Positive weights used in the L1 penalty part of the Lasso objective. If
None
, weights equal to 1 are used.- max_iterint, optional (default=50)
The maximum number of iterations (subproblem definitions).
- max_epochsint, optional (default=50_000)
Maximum number of CD epochs on each subproblem.
- p0int, optional (default=10)
First working set size.
- verbosebool or int, optional (default=0)
Amount of verbosity.
- tolfloat, optional (default=1e-4)
Stopping criterion for the optimization.
- positivebool, optional (defautl=False)
When set to
True
, forces the coefficient vector to be positive.- fit_interceptbool, optional (default=True)
Whether or not to fit an intercept.
- warm_startbool, optional (default=False)
When set to
True
, reuse the solution of the previous call to fit as initialization, otherwise, just erase the previous solution.- ws_strategystr, optional (default=”subdiff”)
The score used to build the working set. Can be
fixpoint
orsubdiff
.
Notes
Supports weights equal to
0
, i.e. unpenalized features.- Attributes:
- coef_array, shape (n_features,)
parameter vector (`w` in the cost function formula)
- intercept_float
constant term in decision function.
- n_iter_int
Number of subproblems solved to reach the specified tolerance.
- __init__(groups, alpha=1.0, weights=None, max_iter=50, max_epochs=50000, p0=10, verbose=0, tol=0.0001, positive=False, fit_intercept=True, warm_start=False, ws_strategy='subdiff')[source]¶
Methods
__init__
(groups[, alpha, weights, max_iter, ...])fit
(X, y)Fit the model according to the given training data.
get_metadata_routing
()Get metadata routing of this object.
get_params
([deep])Get parameters for this estimator.
predict
(X)Predict using the linear model.
score
(X, y[, sample_weight])Return the coefficient of determination of the prediction.
set_params
(**params)Set the parameters of this estimator.
set_score_request
(*[, sample_weight])Request metadata passed to the
score
method.