Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 2.16 KB

File metadata and controls

34 lines (27 loc) · 2.16 KB

fairness-aware-classification

Skoltech ML Course project "Boosting for Fairness-Aware Classification"

Compared methods

Method Description
SMOTE + LogisticRegression SMOTE: Synthetic Minority Over-sampling Technique
SMOTE + RandomForest SMOTE: Synthetic Minority Over-sampling Technique
SMOTEBoost SMOTEBoost: Improving Prediction of the Minority Class in Boosting
RUSBoost RUSBoost: A Hybrid Approach to Alleviating Class Imbalance
AdaBoost A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting
AdaFair AdaFair: Cumulative Fairness Adaptive Boosting
AttentiveGradientBoosting Our novel approach

How to run

  1. Firstly to install all required packages from requirements.txt you should run pip install -r requirements.txt.
  2. Secondly you need to download all datasets. To do it you should just run script download.sh from working directory. Note, that kaggle pip library should be installed to download some datasets. As a result four datasets will be downloaded and folders adult, bank, compass, kdd will be created.
  3. To run experiments you can just run notebook experiments.ipynb. As a result plots will be saved in folder plots.

Description of the structure

  • requirements.txt: list of packages that should be installed

  • download.sh: script for downloading datasets

  • download.ipynb: notebook for downloading datasets (similar to script)

  • experiments.ipynb: notebook to run experiments

  • algo.py: implementation of all algorithms are written here

  • utils.py: functions for loading and preprocessing datasets are written here

  • metrics.py: implementations of all required metrics are written here

  • presentation.pdf: presentation of the project

  • report.pdf: report of the project

  • plots: folder with plots created after the experiment