Spline#

superglm.Spline(
kind: str = 'ps',
*,
k: int | None = None,
n_knots: int | None = None,
degree: int = 3,
knot_strategy: str = 'uniform',
penalty: str = 'ssp',
select: bool = False,
knots: ArrayLike | None = None,
discrete: bool | None = None,
n_bins: int | None = None,
extrapolation: str = 'clip',
boundary: tuple[float, float] | None = None,
knot_alpha: float = 0.2,
constraint=None,
m: int | tuple[int, ...] = 2,
lambda_policy: LambdaPolicy | dict[str, LambdaPolicy] | None = None,
polynomial_ranges: Sequence[PolynomialRange] | None = None,
) → _SplineBase#

Create a spline feature spec.

polynomial_ranges (kind="bs" or "cr" only) pins the curve to a polynomial on each PolynomialRange and leaves the rest the penalised smooth.