v0.3.0
AIF360 v0.3.0 Release Notes
This is a major release containing a number of new features, improvements, and bugfixes.
Highlights
- scikit-learn compatible API for certain algorithms, metrics, and datasets
- Documentation layout was revamped to make it easier to navigate.
- New algorithm:
- Fairness Gerrymandering (Kearns, et al., 2018)
- New metrics:
- Differential Fairness (Foulds, et al., 2018)
- Rich Subgroup Fairness (Kearns, et al., 2018)
New Features/Improvements
- Optional dependencies may now be installed using the setuptools "extras" option: e.g.,
pip install 'aif360[LFR,AdversarialDebiasing]'orpip install 'aif360[all]' - Added support for integrations with MLOps (Kubeflow and NiFi) and examples
- Added
scoresoutput toAdversarialDebiasing.predict()(#139) - Added a
subset()method toStructuredDataset(#140) - Added new
MulticlassLabelDatasetto support basic multiclass problems (#165) -
scikit-learn compatibility (#134)
- EXPERIMENTAL: incomplete, contributions welcome
- 4 datasets (Adult, German, Bank, Compas) in DataFrame format with protected attributes in the index
- Automatically downloads from openml.org
- 6 group fairness metrics as functions (
statistical_parity_difference,disparate_impact_ratio,equal_opportunity_difference,average_odds_difference,average_odds_error,between_group_generalized_entropy_error) - 2 individual fairness metrics as functions (
generalized_entropy_indexand its variants,consistency_score) - 5 additional metrics as functions (
specificity_score,base_rate,selection_rate,generalized_fpr,generalized_fnr) make_scorerfunction to wrap metrics for use in sklearn cross-validation functions (#174, #178)- 3 algorithms (
Reweighing,AdversarialDebiasing,CalibratedEqualizedOdds)
Fixes
- Fixed deprecation warning/
NotImplementedErrorinStandardDataset(#115) - Fixed age threshold in
GermanDataset(#129 and #137) - Corrected privileged/unprivileged attribute values for COMPAS dataset in some demos (#138)
- Fixed base rate computation in EqOddsPostprocessing (#170)
- Improved warning messages when missing optional packages (#170)
- Multiple documentation fixes (#114, #124, #153, #155, #157, #158, #159, #170)
New Contributors
@autoih, @romeokienzler, @jimbudarz, @stephanNorsten, @sethneel, @imolloy, @guillemarsan, @gdequeiroz, @chajath, @bhavyaghai, @Tomcli, @swapna-somineni, @chkoar, @motapaolla