Skoltech ML Course project "Boosting for Fairness-Aware Classification"
| 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 |
- Firstly to install all required packages from
requirements.txtyou should runpip install -r requirements.txt. - Secondly you need to download all datasets. To do it you should just run script
download.shfrom working directory. Note, thatkagglepiplibrary should be installed to download some datasets. As a result four datasets will be downloaded and foldersadult,bank,compass,kddwill be created. - To run experiments you can just run notebook
experiments.ipynb. As a result plots will be saved in folderplots.
-
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