Releases: Quantco/glum
Releases · Quantco/glum
glum 3.0.1
glum 3.0.0
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
exceptX
,y
,sample_weight
andoffset
are now keyword-only. - :class:
~glum.GeneralizedLinearRegressor
's default value foralpha
is now0
, 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 fromp
topower
, in line with :class:~glum.TweedieDistribution
. - :class:
~glum.TweedieLink
no longer instantiates :class:~glum.IdentityLink
or :class:~glum.LogLink
forpower=0
andpower=1
, respectively. On the other hand, :class:~glum.TweedieLink
is now compatible withpower=0
andpower=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
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
glum 2.6.0
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
What's Changed
- Bump pypa/cibuildwheel from 2.14.1 to 2.15.0 by @dependabot in #680
- Column names à la Tabmat #278 by @MartinStancsicsQC in #678
- Pre-commit autoupdate by @quant-ranger in #685
- Bump mamba-org/setup-micromamba from 1.1.3 to 1.4.3 by @dependabot in #686
- Add methods for performing Wald-tests by @MartinStancsicsQC in #668
- Formula interface by @MartinStancsicsQC in #670
- Formula- and term-based Wald-tests by @MartinStancsicsQC in #689
- Support for missing values in categorical columns by @MartinStancsicsQC in #684
Full Changelog: v3.0.0a0...3.0.0a1
glum 3.0.0a0
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
2.5.2 - 2023-06-02
Bug fix
- Fixed a bug in
glum.GeneralizedLinearRegressor
when fit on a data set with a constant column andwarm_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
.
glum 2.5.1
2.5.1 - 2023-05-19
Bug fix
- We fixed a bug in the computation of
glum.distribution.NegativeBinomialDistribution.log_likelihood
. Previously, this method just returnedNone
.
glum 2.5.0
2.5.0 - 2023-04-28
New feature
- We added support for the Negative Binomial distribution. To use it, set the
'family'
parameter ofGeneralizedLinearRegressor
orglum.GeneralizedLinearRegressorCV
to'negative.binomial'
.