diff --git a/CHANGELOG.md b/CHANGELOG.md index 3844cda5d..90c60c16c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,25 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and the versioning is mostly derived from [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v0.4.0] - 2023-05-11 +### Added +- alternative objective functions: poisson_deviance, tweedie_deviance, gamma_deviance, pseudo_huber, rmse_log (log link) +- greediness __init__ parameter that allows selecting a behavior between cyclic boosting and greedy boosting +- smoothing_rounds __init__ parameter +- added type hints to the EBM __init__ parameters and class attributes +- init_score parameter to allow boosting and prediction on top of a previous model +- multiclass support in merge_ebms +### Changed +- default BaseLinear regressor is changed from Lasso to LinearRegression class +- placed limits on the amount of memory used to find interactions with high cardinality categoricals +### Fixed +- validation_size of 0 is now handled by disabling early_stopping and using the final model +### Breaking Changes +- replaced the __init__ param "mains" with "exclude" +- removed the binning __init__ param as this functionality was already fully supported in feature_types +- removed the unused zero_val_count attribute and n_samples attribute +- renamed the noise_scale_ attribute to noise_scale_boosting_ and added noise_scale_binning_ to DPEBMs + ## [v0.3.2] - 2023-03-14 ### Fixed - fix the issue that the shared library would only work on newer linux versions diff --git a/python/interpret-core/interpret/_version.py b/python/interpret-core/interpret/_version.py index adc4089c5..36ee4bdd7 100644 --- a/python/interpret-core/interpret/_version.py +++ b/python/interpret-core/interpret/_version.py @@ -2,4 +2,4 @@ # Distributed under the MIT software license # NOTE: Version is replaced by a regex script. -__version__ = "0.3.2" +__version__ = "0.4.0" diff --git a/python/interpret-core/interpret/glassbox/_ebm/_ebm.py b/python/interpret-core/interpret/glassbox/_ebm/_ebm.py index 4f6294184..a0f809876 100644 --- a/python/interpret-core/interpret/glassbox/_ebm/_ebm.py +++ b/python/interpret-core/interpret/glassbox/_ebm/_ebm.py @@ -68,7 +68,7 @@ import numpy as np from warnings import warn -from sklearn.base import is_classifier, is_regressor # type: ignore +from sklearn.base import is_classifier # type: ignore from sklearn.utils.validation import check_is_fitted # type: ignore from sklearn.isotonic import IsotonicRegression @@ -80,7 +80,6 @@ ClassifierMixin, RegressorMixin, ) # type: ignore -from sklearn.utils.extmath import softmax # type: ignore from itertools import combinations, groupby import logging diff --git a/python/interpret-core/setup.py b/python/interpret-core/setup.py index 27a7a93ee..67795d61b 100644 --- a/python/interpret-core/setup.py +++ b/python/interpret-core/setup.py @@ -12,7 +12,7 @@ name = "interpret-core" # NOTE: Version is replaced by a regex script. -version = "0.3.2" +version = "0.4.0" long_description = """ Core system for the interpret package. diff --git a/python/interpret/setup.py b/python/interpret/setup.py index b00ea5b76..33c3542a4 100644 --- a/python/interpret/setup.py +++ b/python/interpret/setup.py @@ -5,7 +5,7 @@ name = "interpret" # NOTE: Version is replaced by a regex script. -version = "0.3.2" +version = "0.4.0" long_description = """ In the beginning machines learned in darkness, and data scientists struggled in the void to explain them. diff --git a/shared/vis/package.json b/shared/vis/package.json index b8a15146e..9ddb056bd 100644 --- a/shared/vis/package.json +++ b/shared/vis/package.json @@ -1,6 +1,6 @@ { "name": "@interpretml/interpret-inline", - "version": "0.3.2", + "version": "0.4.0", "description": "Interpret inline library for rendering visualizations across all notebook environments.", "main": "index.js", "keywords": [],