Shrinkage

shrinkage.StoppingCriterion

Shrinkage for Python · python · 0.2.0

StoppingCriterion(
    kind: typing.Literal["duality_gap", "kkt_violation", "proximal_gradient_mapping"],
    absolute: float,
    relative: float = 0.0
)

A convergence check with tolerances in its own units.

Gaussian lasso supports duality_gap and kkt_violation. HybridCoordinateDescent and proximal gradient support only proximal_gradient_mapping. KKT and mapping tolerances must be finite and strictly positive and use no relative component. Gap tolerances must be finite and nonnegative, with at least one positive component. Compatibility is checked when fitting.

kind

kind: typing.Literal["duality_gap", "kkt_violation", "proximal_gradient_mapping"]

absolute

absolute: float

relative

relative: float = 0.0

duality_gap

duality_gap(
    relative: float = 1e-6,
    *,
    absolute: float = 0.0
) -> shrinkage.StoppingCriterion

Require gap <= absolute + relative * fixed null-model loss.

kkt_violation

kkt_violation(absolute: float = 1e-6) -> shrinkage.StoppingCriterion

Require the largest absolute KKT violation <= absolute.

proximal_gradient_mapping

proximal_gradient_mapping(absolute: float = 1e-6) -> shrinkage.StoppingCriterion

Bound the full mapping and the free-intercept derivative.