Releases: IBM/differential-privacy-library
Diffprivlib 0.6.5
This release of diffprivlib is a minor update to fix bugs that have resulted in the release of Numpy v2.0 and Scikit-Learn v1.5.
What's Changed
Full Changelog: 0.6.4...0.6.5
Diffprivlib 0.6.4
This release of diffprivlib is a minor update to fix a bug in some tools
and to maintain compatibility with the newly-released Scikit-Learn v1.4.
Fixed
- Minor bugs arising from the relase of Scikit-Learn v1.4
- Incorrect bounds calculation in Nan-supporting statistical functions in the
tools
module (#87)
Added
- Support for Python 3.12
Merged Pull Requests
- [DOC] Updating documentation by @naoise-h in #89
- [BUG] Fix bounds calculation in nanmean, etc. by @naoise-h in #90
- [BUG] Fixes for scikit-learn v1.4 by @naoise-h in #91
Full Changelog: 0.6.3...0.6.4
Diffprivlib 0.6.3
This release of diffprivlib is a minor update to maintain compatibility with the newly-released Scikit-Learn v1.3.
Fixed
- Bug in
DecisionTreeClassifier
andRandomForestClassifier
arising from the release of Scikit-Learn v1.3
Merged Pull Requests
- Update readme adding known publications by @stefano81 in #78
- [BUG] Fixes
_Node
class for scikit-learn v1.3 by @naoise-h in #86 - [BUG] Fix
random_state
bug inquantile
by @naoise-h in #85
Full Changelog: 0.6.2...0.6.3
Diffprivlib 0.6.2
This release of diffprivlib is a minor update on 0.6.1 to maintain compatibility with the newly-released Scikit-learn 1.2, while also adding explicit support for Python 3.11.
Added
- Support for Python 3.11
Fixed
- Minor changes to support Scikit-learn's new parameter validation
- Minor changes to
PCA
andRandomForestClassifier
resulting from recent scikit-learn deprecations
Merged Pull Requests
Full Changelog: 0.6.1...0.6.2
Diffprivlib 0.6.1
This release is a minor bugfix to support the upcoming release of Numpy 1.24.0
Fixed
- Numpy's
histogramdd
has deprecated thenormed
keyword, which has now been removed from diffprivlib.
Merged Pull Requests
Full Changelog: 0.6.0...0.6.1
Diffprivlib 0.6.0
This version of diffprivlib supports Python versions 3.8 to 3.10.
Changed
Breaking:
RandomForestClassifier
has been substantially rewritten to fix previously-reported bugs and to improve performance. It now takes abounds
parameter (similar to other models) instead of the previousfeature_domains
parameter (#70)
Non-breaking:
- All diffprivlib models and tools now accept a
random_state
parameter to specify a seed for the random number generator (RNG), or to specify a RandomState instance to be used. The implementation follows closely that of scikit-learn, and more details can be found in the PR #72. - To overcome difficulties with its installation on Windows,
crlibm
is now an optional dependency. (#67)
Merged Pull Requests
- [BUG] Making crlibm an optional dependency by @naoise-h in #67
- [ENH] Refactor RandomForestClassifier by @naoise-h in #70
- [ENH] Add random state support to diffprivlib by @naoise-h in #72
- [MNT] Diffprivlib 0.6 by @naoise-h in #74
Full Changelog: 0.5.2...0.6.0
Diffprivlib 0.5.2
This is a minor release of diffprivlib that adds the snapping mechanism and fixes bugs introduced by Scikit-learn 1.1.0.
Added
Fixed
- Bugs in
LinearRegression
,LogisticRegression
andRandomForestClassifier
introduced by release of Scikit-learn 1.1.0 (#65)
New Contributors
Full Changelog: 0.5.1...0.5.2
Diffprivlib 0.5.1
This release of diffprivlib is a minor update on 0.5, adding explicit support for Python 3.10.
Added
- Support for Python 3.10 (#61)
Full Changelog: 0.5.0...0.5.1
Diffprivlib 0.5.0
This release of diffprivlib features a number of additions, fixes and enhancements. This version of diffprivlib supports Python version 3.7 to 3.9.
Added
- A differentially private random forest classifier,
RandomForestClassifier
, has been added to themodels
module (#41, by mismayil) - The
Exponential
andPermuteAndFlip
mechanisms now supportmonotonic
utility functions as an input parameter (08c4d98) - Templates have been added for issues and pull requests (#52, by stefano81)
- We are transitioning to Github Actions for tests and other checks (#54)
Changed
Breaking:
- Mirroring the equivalent behaviour in scikit-learn (since version 0.23), most parameters for diffprivlib models must now be specified as keyword arguments. Failing to do so will raise a
TypeError
. (5fa781e)
Non-breaking:
- The
Laplace
,Gaussian
,Vector
andBingham
distributions are now securely sampled to prevent privacy leakage due to their floating point representation (#47) - Diffprivlib now requires scikit-learn 0.23, numpy 1.19, and scipy 1.5, or later (#51)
Fixed
- Bug in
quantile
for uniform data fixed (#43, d5ac459) - Optimised upper bound for
var
(#45, by justanotherlad) - Bug in
Exponential
mechanism (#50, by justanotherlad) histogramdd
andhistogram2d
now prioritise bin edges frombins
overrange
. (96ef33c)
Removed
Diffprivlib 0.4.1
This release of diffprivlib is a minor update to v0.4 to fix a bug in models.LinearRegression
.
Fixed
- Bug in
models.LinearRegression
which incorrectly calculated the sensitivity for the objective (#35)