erasmopurif's picture
First commit
d2a8669

A newer version of the Streamlit SDK is available: 1.43.2

Upgrade

aif360.sklearn

This is a wholly separate interface for interacting with data, viewing metrics, and running debiasing algorithms than the main AIF360 package. The purpose of this sub-package is to match scikit-learn paradigms/APIs for easier integration in typical machine learning workflows.

See Getting Started to see aif360.sklearn in action.

To do:

  • Reformat datasets as separate X and y (and sample_weight) DataFrame objects with sample properties (protected attributes) as the index
  • Load included datasets in the above format
    • Use sklearn.datasets.fetch_openml to load UCI datasets (#53)
    • COMPAS
    • MEPS
  • Implement metrics as individual functions instead of instance methods
    • Make certain metrics compatible as sklearn scorers
    • Use "prot_attr" and "priv_group" keywords to specify protected attributes to functions
    • Generalized confusion matrix
    • Sample distortion metrics
  • Make inprocessing algorithms compatible as sklearn Estimators
    • Adversarial debiasing
    • [External] get_feature_names() from data preprocessing steps that would remove DataFrame formatting
    • Prejudice remover
    • Meta-fair classifier
  • Make preprocessing algorithms compatible as sklearn Transformers
    • [External] Add functionality to modify X and y
      • SLEP005 - Resampler API (see discussion; meta-estimator workaround may be enough)
    • Disparate impact remover
    • Learning fair representations
    • Optimized preprocessing
    • Reweighing
      • Meta-estimator workaround
      • [External] SLEP006 - Sample properties (meta-estimator works but would be very nice to have)
  • Make postprocessing algorithms compatible
    • Calibrated equalized odds postprocessing
      • Meta-estimator workaround again
    • Equalized odds postprocessing
    • Reject option classification
  • Miscellaneous:
    • Explainers