• Changes to ThresholdOptimizer:

    • Separate plotting for ThresholdOptimizer into its own plotting function.

    • ThresholdOptimizer now performs validations during fit, and not during __init__. It also stores the fitted given estimator in the estimator_ attribute.

    • ThresholdOptimizer is now a scikit-learn meta-estimator, and accepts an estimator through the estimator parameter. To use a pre-fitted estimator, pass prefit=True.

  • Made _create_group_metric_set_() private by prepending with _. Also changed the arguments, so that this routine requires dictionaries for the predictions and sensitive features. This is a breaking change.

  • Remove Reduction base class for reductions methods and replace it with sklearn.base.BaseEstimator and MetaEstimatorMixin.

  • Remove ExponentiatedGradientResult and GridSearchResult in favor of storing the values and objects resulting from fitting the meta-estimator directly in the ExponentiatedGradient and GridSearch objects, respectively.

  • Fix regression in input validation that dropped metadata from X if it is provided as a pandas.DataFrame.