Skip to content

Releases: Quantco/glum

glum 3.2.3

18 Mar 14:58
8d6dab6

Choose a tag to compare

3.2.3 - 2026-03-18

Bug fix:

  • Fixed incorrect call in InverseGaussianDistribution.log_likelihood. The previous implementation always returned NaN.

glum 3.2.2

17 Mar 20:55
50d7c2d

Choose a tag to compare

3.2.2 - 2026-03-17

Bug fix:

  • Fixed incorrect formula in glum.CloglogLink.inverse_derivative2. This affected observed information matrix computation and robust/clustered standard errors for models using the complementary log-log link.

glum 3.2.1

16 Mar 10:26
c652b29

Choose a tag to compare

3.2.1 - 2026-03-16

Bug fix:

  • Fixed an error when predicting at a specific alpha with categorical features.

Other changes:

  • Downgraded log messages in align_df_categories and add_missing_categories from INFO to DEBUG, and deduplicated them so they are emitted only once per column per fitted model.

glum 3.2.0

10 Mar 15:40
7cff76e

Choose a tag to compare

3.2.0 - 2026-03-10

New features:

  • Add solver="closed-form" for Gaussian identity-link models, using an analytical normal-equations solution for ridge/OLS, auto-selecting it under solver="auto" for unconstrained no-L1 cases, and falling back to least-squares for singular or ill-conditioned systems.
  • :class:~glum.GeneralizedLinearRegressor and :class:~glum.GeneralizedLinearRegressorCV now accept Polars <https://pola.rs>_ DataFrames as input, in addition to pandas DataFrames and numpy arrays.

Bug fixes:

  • Fixed predict(X, alpha_index=...) and predict(X, alpha=...) on :class:~glum.GeneralizedLinearRegressorCV, which previously raised an error. The CV estimator now refits on the full data over the entire alpha path for the best l1_ratio_.
  • Fixed alpha path computation in :class:~glum.GeneralizedLinearRegressorCV: the alpha grid is now computed from the properly standardized feature matrix and per-feature P1 penalties (matching the base class), and accounts for offset when present.

Full Changelog: 3.1.3...v3.2.0

glum 3.1.3

18 Feb 08:33
86dd5f2

Choose a tag to compare

3.1.3 - 2025-02-18

Bug fixes:

  • Fixed deviance_path_ in :class:~glum.GeneralizedLinearRegressorCV being scaled down by a factor of n_folds because test fold weights were not normalized to sum to 1.
  • Fixed :class:~glum.NegativeBinomialDistribution theta setter rejecting np.number types, causing dist.theta = dist.theta to raise a TypeError.

Other changes:

  • We disabled fast math to avoid invalid results (e.g., when dividing by zero).
  • The default alpha_max for the regularization path in the pure ridge case (l1_ratio=0) is now computed from the null model gradient, matching glmnet's behavior. Previously it was hardcoded to 10.
  • When min_alpha_ratio is not set and n_samples < n_features, the default is now 1e-2 instead of 1e-6, matching glmnet's convention.

Full Changelog: 3.1.2...3.1.3

glum 3.1.2

30 Jan 15:46
bb86087

Choose a tag to compare

3.1.2 - 2025-01-30

Other:

  • Linux-aarch64 wheels are now built and uploaded to PyPI.

Full Changelog: 3.1.1...3.1.2

glum 3.1.1

13 Jan 16:00
c3a6827

Choose a tag to compare

3.1.1 - 2025-01-13

Bug fixes:

  • Fixed a bug where glum.TweedieDistribution._rowwise_gradient_hessian and glum.TweedieDistribution._eta_mu_deviance would call functions with wrong arguments in the p = 3 case.
  • Fixed glum.InverseGaussianDistribution not using the optimized gradient, Hessian and deviance implementations, as well as those derivatives having the wrong sign.

Other changes:

  • We now build and test with Python 3.13 in CI.

Full Changelog: 3.1.0...3.1.1

glum 3.1.0

11 Nov 15:22
e5b26e1

Choose a tag to compare

3.1.0 - 2024-11-11

New features:

  • New argument max_inner_iter for classes GeneralizedLinearRegressor and GeneralizedLinearRegressorCV to control the maximum number of iterations of the inner solver in the IRLS-CD algorithm.
  • New fitted attributes col_means_ and col_stds_ for classes GeneralizedLinearRegressor and GeneralizedLinearRegressorCV.
  • GeneralizedLinearRegressor now prints more informative logs when fitting with alpha_search=True and verbose=True.

Bug fixes:

  • Fixed a bug where GeneralizedLinearRegressor.fit would raise a dtype mismatch error if fit with alpha_search=True.
  • Use data type (float64 or float32) dependent precision in solvers.

glum 3.0.2

25 Jun 15:19
d286142

Choose a tag to compare

What's Changed

Full Changelog: 3.0.1...3.0.2

glum 3.0.1

23 May 14:25
5d47555

Choose a tag to compare

Bug fix

  • We now support scikit-learn 1.5.