Skip to content

Explore fairness metrics by automating the generation of binary classifiers with SMT solvers.

License

Notifications You must be signed in to change notification settings

konstantine4096/fair-binary-classifiers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

fair-binary-classifiers

This Athena code explores fairness metrics by automating the generation of binary classifiers with SMT solvers.

To load the code, start Athena and type:

load "fair_classifiers";;

To try searching for a model that has accuracy over 0.8, do:

(impose [(accuracy > 0.8)])

To impose predictive parity, possibly along with a minimum accuracy (say 0.6), do:

(impose [predictive-parity (accuracy >= 0.6)])

To rule out trivial models and make sure that there's at least one positive and one negative prediction, do:

(impose [(PPOS > 0) (PNEG > 0) ... <other constraints here> ...])

To search for a model that satisfies equalized odds, do:

(impose [equalized-odds ... <other constraints here> ...])

To search for a model that satisfies approximate equalized odds by bounding the difference between either error rate to be no more than delta, do:

(impose [(approx-eq-odds delta) ... <other constraints here> ...])

About

Explore fairness metrics by automating the generation of binary classifiers with SMT solvers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published