{"id":13850894,"url":"https://github.com/sakshiudeshi/Aequitas","last_synced_at":"2025-07-13T01:31:43.993Z","repository":{"id":43637919,"uuid":"140432245","full_name":"sakshiudeshi/Aequitas","owner":"sakshiudeshi","description":"Aequitas, a directed fairness testing framework machine learning models.","archived":false,"fork":false,"pushed_at":"2022-02-18T04:07:40.000Z","size":2584,"stargazers_count":9,"open_issues_count":4,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-22T05:30:19.620Z","etag":null,"topics":["machine-learning","software-engineering","software-testing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sakshiudeshi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-10T12:56:50.000Z","updated_at":"2024-03-15T13:33:12.000Z","dependencies_parsed_at":"2022-07-13T11:20:27.661Z","dependency_job_id":null,"html_url":"https://github.com/sakshiudeshi/Aequitas","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sakshiudeshi/Aequitas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakshiudeshi%2FAequitas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakshiudeshi%2FAequitas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakshiudeshi%2FAequitas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakshiudeshi%2FAequitas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sakshiudeshi","download_url":"https://codeload.github.com/sakshiudeshi/Aequitas/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakshiudeshi%2FAequitas/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265080005,"owners_count":23708098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["machine-learning","software-engineering","software-testing"],"created_at":"2024-08-04T21:00:27.823Z","updated_at":"2025-07-13T01:31:42.989Z","avatar_url":"https://github.com/sakshiudeshi.png","language":"Python","funding_links":[],"categories":["Software and data sets"],"sub_categories":["Python"],"readme":"# Aequitas\n\nWe present Aequitas, a directed fairness testing framework machine learning models. See the paper [Automated Directed Fairness Testing](https://arxiv.org/abs/1807.00468) for more details.\n\n\n\n## Prerequisites\n\n* Python 2.7.15\n* numpy 1.14.5\n* scipy 1.1.0\n* scikit-learn 1.19.0\n\nThe authors used Pycharm CE 2017.2.3 as the development IDE.\n\n## Background\nThere are 3 test generation strategies in our suite, namely Aequitas Random, Aequitas Semi-Directed and Aequitas Fully Directed. There are files to evaluate [Fair SVM](https://github.com/mbilalzafar/fair-classification) and Scikit-Learn classifiers trained on the same [dataset](http://archive.ics.uci.edu/ml/datasets/Adult).\n\n## Config\nThe [config](config.py) file has the following data:\n\n* params : The number of parameters in the data\n* sensitive_param: The parameter under test.\n* input_bounds: The bounds of each parameter\n* classifier_name: Pickled scikit-learn classifier under test (only applicable to the sklearn files)\n* threshold: Discrimination threshold.\n* perturbation_unit: By what unit would the user like to perturb the input in the local search.\n* retraining_inputs: Inputs to be used for the retraining. Please see [this file](Retrain_Example_File.txt).\n\n## Demo\n`python \u003cfilename\u003e`\n\neg. `python Aequitas_Fully_Directed.py`\n\n## Contact\n* Please contact sakshi_udeshi@mymail.sutd.edu.sg for any comments/questions\n\n\n## Citation \nIf you use any part of this code, please cite the following paper\n\n```\n@inproceedings{aequitas,\n  title={Automated directed fairness testing},\n  author={Udeshi, Sakshi and Arora, Pryanshu and Chattopadhyay, Sudipta},\n  booktitle={Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering},\n  pages={98--108},\n  year={2018}\n}\n```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakshiudeshi%2FAequitas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsakshiudeshi%2FAequitas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakshiudeshi%2FAequitas/lists"}