v0.13.0#

Summary#

This release introduces a new method implementation, PrototypeRepresentationLearner, which is based on the work of Zemel et al. (2013) [1]. You can learn more about it here.

Additionally, this release includes several improvements to existing functionality: enhanced support for relaxed constraints and multi-dimensional input data in optimization methods, performance improvements through vectorization, updating the supported Python versions (removed 3.8, added 3.12), first efforts concerning Narwhals integration, removal of unused functionality, and cleanup of local logging initialization.

New methods#

  • Implemented the PrototypeRepresentationLearner introduced in Zemel et al. (2013) [1]: #1478 by Tahar Allouche.

New features#

  • Allowed relaxed constraints (except equalized_odds) in ThresholdOptimizer: #1453 by Tahar Allouche

  • Allowed multi-dimensional input data X (ndims > 2) in ThresholdOptimizer and ExponentiatedGradient: #1470 by Tahar Allouche.

Performance improvements#

  • Vectorized the curve interpolation step in ThresholdOptimizer to improve performance and readability: #1448 by Tahar Allouche.

Narwhals integration#

Other improvements#

  • Removed support for python 3.8 and added support for python 3.12: #1488 by Tamara Atanasoska.

  • Removed the keyword argument control_features from ErrorRate.load_data, since it was without functionality for the method: #1531 by Stefanie Senger.

  • Removed local logging using environment variable FAIRLEARN_LOGS at initialization: #1561 by Parul Gupta.