Changelog¶
This changelog follows the great advice from https://keepachangelog.com/.
Each section will have a title of the format X.Y.Z (YYYY-MM-DD) giving the version of the package and the date of release of that version. Unreleased changes i.e. those that have been merged into master (e.g. with a .dev suffix) but which are not yet in a new release (on PyPI) are added to the changelog but with the title X.Y.Z (unreleased). Unreleased sections can be combined when they are released and the date of release added to the title.
Subsections for each version can be one of the following;
Addedfor new features.Changedfor changes in existing functionality.Deprecatedfor soon-to-be removed features.Removedfor now removed features.Fixedfor any bug fixes.Securityin case of vulnerabilities.
Each individual change should have a link to the pull request after the description of the change.
0.3.1 (2021-10-05)¶
Added¶
Add support for absolute error conformal predictions with lgb.Booster models with the LGBMBoosterAbsoluteErrorConformalPredictor class #23
Add bandit into build and test github action #22
Add bandit to test dependencies in
pyproject.toml#22Add badges to
README#21Add new github action to check that
_version.pyandCHANGELOG.rstfiles are modified in pull requests to the master branch. This workflow is a slightly modified version of mwcodebase/versioning-checker (source code ) #20
0.3.0 (2021-09-19)¶
Added¶
Add logos;
,
to READMEand docs #12Add changelog into sphinx docs #11
- Add new
ConformalPredictorabstract base class that all other conformal predictor classes will inherit from #9 Add _lookup_baseline_interval` method in
ConformalPredictorwhich returns thebaseline_intervalattribute but which can be overridden by the split conformal predictor classes or future classes where the baseline interval is not a constant value
- Add new
- Add new tests;
TestConformalPredictionValuesfor the model type specificConformalPredictorsubclasses that test (when using a non-trivial model) #9 The conformal predictor is calibrated at the expected level for different values of alpha
The conformal predictor gives the expected intervals
- Add new tests;
Add new
docstrings.combine_split_mixin_docsfunction to combine docstring forSplitConformalPredictorMixinand the model specific classes it will be jointly inherited with #9
Changed¶
Update changelog to follow structure recommendations from https://keepachangelog.com/ #11
Change file type of chaneglog to
.rst#11Update
AbsoluteErrorConformalPredictorandLeafNodeScaledConformalPredictorclasses to inherit fromConformalPredictor#9Remove
predict_with_intervaland _calibrate_interval` methods fromLeafNodeScaledConformalPredictorclass, these are now in theConformalPredictorclass #9- Refactor
SplitConformalPredictorintoSplitConformalPredictorMixinthat does not inherit fromLeafNodeScaledConformalPredictor#9 Rename
baseline_intervalsattribute tobaseline_intervalRemove
predict_with_intervalmethodRemove
calibratemethod
- Refactor
Revert the
nonconformity.nonconformity_at_alphafunction to usenp.quantilebut withinterpolation="higher"to select the upper value if the quantile falls between two values #9Abstract out calculation of nonconformity scores into a _calculate_nonconformity_scores` method which is implemented in
AbsoluteErrorConformalPredictorandLeafNodeScaledConformalPredictorclasses #9Change
_sum_dict_valuesto be a staticmethod ofLeafNodeScaledConformalPredictorrather than a function inpitci.base#9Change linting, tests and mypy to always run in the github actions pipeline #9
Renamed
LGBMBoosterLeafNodeSplitConformalPredictortoLGBMBoosterSplitLeafNodeScaledConformalPredictor#9Renamed
XGBoosterLeafNodeSplitConformalPredictortoXGBoosterSplitLeafNodeScaledConformalPredictor#9Renamed
get_leaf_node_split_conformal_predictortoget_split_leaf_node_scaled_conformal_predictor#9
0.2.0 (2021-07-26)¶
Added¶
Add
train_dataargument to thecalibratemethods ofXGBoosterLeafNodeScaledConformalPredictorandXGBSklearnLeafNodeScaledConformalPredictorclasses to allow the user to calibrate the leaf node counts on a different (train) data sample, rather than the sample used to calibrate the interval widths (which shouldn’t be the training sample) #3Add
LGBMBoosterLeafNodeScaledConformalPredictorclass to provide leaf node count scaled conformal intervals forlgb.Boostermodels #4Add
sphinxdocumentation for package indocsfolder #5Add
SplitConformalPredictorclass that allows conformal intervals to be calibrated for different bands of the data based off the scaling factor #6Add
XGBoosterLeafNodeSplitConformalPredictorclass that allows split conformal intervals withxgb.Boosterobjects where the scaling factor is based off the leaf node counts #6Add
LGBMBoosterLeafNodeSplitConformalPredictorclass that allows split conformal intervals withlgb.Boosterobjects where the scaling factor is based off the leaf node counts #6Consolidate docstrings across inherited classes with new
docstringsmodule #7
0.1.1 (2021-05-06)¶
Added¶
Add support for
xgb.XGBRegressorandxgb.XGBClassifierobjects with non scaled nonconformity measure inXGBSklearnAbsoluteErrorConformalPredictorclass #1Add support for
xgb.XGBRegressorandxgb.XGBClassifierobjects with leaf node scaled nonconformity measure inXGBSklearnLeafNodeScaledConformalPredictorclass #1Add
dispatchesmodule with helper functionsget_absolute_error_conformal_predictorandget_leaf_node_scaled_conformal_predictorto return correct conformal predictor class given the type of underlying model passed #1
Changed¶
Change
AbsoluteErrorConformalPredictorto be abstract base class #1Add
XGBoosterAbsoluteErrorConformalPredictorclass to provide non scaled conformal intervals forxgb.Boosterobjects, previously theAbsoluteErrorConformalPredictorclass provided this functionality #1Change
LeafNodeScaledConformalPredictorto be abstract base class #1Add
XGBoosterLeafNodeScaledConformalPredictorclass to provide leaf node scaled conformal intervals forxgb.Boosterobjects, previously theLeafNodeScaledConformalPredictorclass provided this functionality #1
