Skip to content

Latest commit

 

History

History
536 lines (318 loc) · 17.8 KB

CHANGELOG.rst

File metadata and controls

536 lines (318 loc) · 17.8 KB

Changelog

3.1.0 - 2024-11-11

New features:

Bug fixes:

3.0.2 - 2024-06-25

Bug fix:

Other changes:

  • Moved the development infrastructure to pixi.
  • Moved the linting and formatting to ruff.
  • Removed libblas MKL from the development environment.
  • Replaced deprecated 'oldest-supported-numpy' dependency with 'numpy' to support 2.0 release.

3.0.1 - 2024-05-23

Bug fix:

  • We now support scikit-learn 1.5.

3.0.0 - 2024-04-27

Breaking changes:

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.

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:

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:

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).

2.5.2 - 2023-06-02

Bug fix

Other changes:

  • Remove dev dependency on dask_ml.
  • We now pin llvm-openmp=11 when creating the wheel for macOS in line with what scikit-learn does.

2.5.1 - 2023-05-19

Other changes:

  • Better error message when the number of input features is different between the fit and predict methods.

Bug fix:

2.5.0 - 2023-04-28

New feature:

2.4.1 - 2023-03-14

Bug fixes:

Other changes:

  • Removes unused scikit-learn cython imports.

2.4.0 - 2023-01-31

Other changes:

2.3.0 - 2023-01-06

Bug fixes:

New features:

2.2.1 - 2022-11-25

Other changes:

  • Fixing pypi upload issue. Version 2.2.0 will not be available through the standard distribution channels.

2.2.0 - 2022-11-25

New features:

Bug fixes:

  • Setting bounds for constant columns was not working (bounds were internally modified to 0). A similar issue was preventing inequalities from working with constant columns. This is now fixed.

Other changes:

  • No more builds for 32-bit systems with python >= 3.8. This is due to scipy not supporting it anymore.

2.1.2 - 2022-07-01

Other changes:

  • Next attempt to build wheel for PyPI without --march=native.

2.1.1 - 2022-07-01

Other changes:

  • We are now building the wheel for PyPI without --march=native to make it more portable across architectures.

2.1.0 - 2022-06-27

New features:

Bug fixes:

Other:

  • The CI now runs daily unit tests against the nightly builds of numpy, pandas and scikit-learn.
  • The minimally required version of tabmat is now 3.1.0.

2.0.3 - 2021-11-05

Other:

  • We are now specifying the run time dependencies in setup.py, so that missing dependencies are automatically installed from PyPI when installing glum via pip.

2.0.2 - 2021-11-03

Bug fix:

  • Fixed the sign of the log likelihood of the Gaussian distribution (not used for fitting coefficients).
  • Fixed the wide benchmarks which had duplicated columns (categorical and numerical).

Other:

  • The CI now builds the wheels and upload to pypi with every new release.
  • Renamed functions checking for qc.matrix compliance to refer to tabmat.

2.0.1 - 2021-10-11

Bug fix:

  • Fixed pyproject.toml. We now support installing through pip and pep517.

2.0.0 - 2021-10-08

Breaking changes:

New features:

Bug fix:

Other:

  • A major overhaul of the documentation. Everything is better!
  • The methods of the link classes will now return scalars when given scalar inputs. Under certain circumstances, they'd return zero-dimensional arrays.
  • There is a new benchmark available glm_benchmarks_run based on the Boston housing dataset. See here.
  • glm_benchmarks_analyze now includes offset in the index. See here.
  • glmnet_python was removed from the benchmarks suite.
  • The innermost coordinate descent was optimized. This speeds up coordinate descent dominated problems like LASSO by about 1.5-2x. See here.

1.5.1 - 2021-07-22

Bug fix:

1.5.0 - 2021-07-15

New features:

Other:

  • Methods of :class:`~glum._link.Link` now consistently return NumPy arrays, whereas they used to preserve pandas series in special cases.
  • Don't list sparse_dot_mkl as a runtime requirement from the conda recipe.
  • The minimal numpy pin should be dependent on the numpy version in host and not fixed to 1.16.

1.4.3 - 2021-06-25

Bug fix:

  • copy_X = False will now raise a value error when X has dtype int32 or int64. Previously, it would only raise for dtype int64.

1.4.2 - 2021-06-15

Tutorials and documentation improvements:

  • Adding tutorials to the documentation.
  • Additional documentation improvements.

Bug fix:

  • Verbose progress bar now working again.

Other:

1.4.1 - 2021-05-01

We now have Windows builds!

1.4.0 - 2021-04-13

Deprecations:

  • Fusing the alpha and alphas arguments for :class:`~glum.GeneralizedLinearRegressor`. alpha now also accepts array like inputs. alphas is now deprecated but can still be used for backward compatibility. The alphas argument will be removed with the next major version.

Bug fix:

  • We removed entry points to functions in glum_benchmarks from the conda package.

1.3.1 - 2021-04-12

Bug fix:

1.3.0 - 2021-04-12

New features:

  • We added a new solver based on scipy.optimize.minimize(method='trust-constr').
  • We added support for linear inequality constraints of type A_ineq.dot(coef_) <= b_ineq.

1.2.0 - 2021-02-04

We removed glum_benchmarks from the conda package.

1.1.1 - 2021-01-11

Maintenance release to get a fresh build for OSX.

1.1.0 - 2020-11-23

New feature:

1.0.1 - 2020-11-12

This is a maintenance release to be compatible with tabmat>=1.0.0.

1.0.0 - 2020-11-11

Other:

0.0.15 - 2020-11-11

Other:

  • Pin tabmat<1.0.0 as we are expecting a breaking change with version 1.0.0.

0.0.14 - 2020-08-06

New features:

  • Add Tweedie Link.
  • Allow infinite bounds.

Bug fixes:

  • Unstandardize regularization path.
  • No copying in predict.

Other:

  • Various memory and performance improvements.
  • Update pre-commit hooks.

0.0.13 - 2020-07-23

See git history.

0.0.12 - 2020-07-07

See git history.

0.0.11 - 2020-07-02

See git history.

0.0.10 - 2020-06-30

See git history.

0.0.9 - 2020-06-26

See git history.

0.0.8 - 2020-06-24

See git history.

0.0.7 - 2020-06-17

See git history.

0.0.6 - 2020-06-16

See git history.

0.0.5 - 2020-06-10

See git history.

0.0.4 - 2020-06-08

See git history.

0.0.3 - 2020-06-08

See git history.