Skip to content

Releases: Quantco/glum

glum 3.1.0

11 Nov 15:22
e5b26e1
Compare
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
Compare
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
Compare
Choose a tag to compare

Bug fix

  • We now support scikit-learn 1.5.

glum 3.0.0

27 Apr 17:34
653b419
Compare
Choose a tag to compare

3.0.0 - 2024-04-27

Breaking changes:

  • All arguments to :class:~glum.GeneralizedLinearRegressorBase, :class:~glum.GeneralizedLinearRegressor and :class:~glum.GeneralizedLinearRegressorCV are now keyword-only.
  • All arguments to public methods of :class:~glum.GeneralizedLinearRegressorBase, :class:~glum.GeneralizedLinearRegressor or :class:~glum.GeneralizedLinearRegressorCV except X, y, sample_weight and offset are now keyword-only.
  • :class:~glum.GeneralizedLinearRegressor's default value for alpha is now 0, i.e. no regularization.
  • :class:~glum.GammaDistribution, :class:~glum.InverseGaussianDistribution, :class:~glum.NormalDistribution and :class:~glum.PoissonDistribution no longer inherit from :class:~glum.TweedieDistribution.
  • The power parameter of :class:~glum.TweedieLink has been renamed from p to power, in line with :class:~glum.TweedieDistribution.
  • :class:~glum.TweedieLink no longer instantiates :class:~glum.IdentityLink or :class:~glum.LogLink for power=0 and power=1, respectively. On the other hand, :class:~glum.TweedieLink is now compatible with power=0 and power=1.

New features:

  • Added a formula interface for specifying models.
  • Improved feature name handling. Feature names are now created for non-pandas input matrices too. Furthermore, the format of categorical features can be specified by the user.
  • Term names are now stored in the model's attributes. This is useful for categorical features, where they refer to the whole variable, not just single levels.
  • Added more options for treating missing values in categorical columns. They can either raise a ValueError ("fail"), be treated as all-zero indicators ("zero") or represented as a new category ("convert").
  • meth:GeneralizedLinearRegressor.wald_test can now perform tests based on a formula string and term names.
  • :class:~glum.InverseGaussianDistribution gains a :meth:~glum.InverseGaussianDistribution.log_likelihood method.

glum 2.7.0

19 Feb 20:57
2e39441
Compare
Choose a tag to compare

2.7.0 - 2024-02-19

Bug fix:

  • Added cython compiler directive legacy_implicit_noexcept = True to fix performance regression with cython 3.

Other changes:

  • Require Python>=3.9 in line with NEP 29 <https://numpy.org/neps/nep-0029-deprecation_policy.html#support-table>.
  • Build and test with Python 3.12 in CI.
  • Added line search stopping criterion for tiny loss improvements based on gradient information.
  • Added warnings about breaking changes in future versions.

glum 3.0.0a2

12 Dec 17:40
512740d
Compare
Choose a tag to compare
glum 3.0.0a2 Pre-release
Pre-release

What's Changed

Full Changelog: 3.0.0a1...3.0.0a2

glum 2.6.0

05 Sep 16:15
ad7ef35
Compare
Choose a tag to compare

2.6.0 - 2023-09-05

New features:

  • Added the complementary log-log (cloglog) link function.
  • Added the option to store the covariance matrix after estimating it. In this case, the covariance matrix does not have to be recomputed when calling inference methods.
  • Added methods for performing Wald tests based on a restriction matrix, feature names or term names.
  • Added a method for creating a coefficient table with confidence intervals and p-values.

Bug fix:

  • Fixed GeneralizedLinearRegressorBase.covariance_matrix mutating feature names when called with a data frame. See here.

Other changes:

  • When computing the covariance matrix, check whether the design matrix is ill-conditioned for all types of input. Furthermore, do it in a more efficient way.
  • Pin tabmat<4.0.0 (the new release will bring breaking changes).

glum 3.0.0a1

29 Aug 01:50
91e0408
Compare
Choose a tag to compare
glum 3.0.0a1 Pre-release
Pre-release

What's Changed

Full Changelog: v3.0.0a0...3.0.0a1

glum 3.0.0a0

17 Aug 19:04
Compare
Choose a tag to compare
glum 3.0.0a0 Pre-release
Pre-release

3.0.0a0 - 2023-08-17

Main change

  • Ensure glum's compatibility with the new major release of tabmat (version 4.0.0) by @MartinStancsicsQC

Note that glum 3 is not compatible with pre-4.0.0 versions of tabmat.

Full Changelog: 2.5.2...v3.0.0a0

glum 2.5.2

02 Jun 06:25
5206e34
Compare
Choose a tag to compare

2.5.2 - 2023-06-02

Bug fix

  • Fixed a bug in glum.GeneralizedLinearRegressor when fit on a data set with a constant column and warm_start=True. See #645.

Other changes:

  • We now pin llvm-openmp=11 when creating the wheel for macOS in line with scikit-learn. This should prevent segfaults on macOS with Intel architecture.
  • Fixed a bug in the glm_benchmarks_analyze command line tool. See #642.
  • Remove dev dependency on dask_ml.