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.txt
you should runpip install -r requirements.txt
. - Secondly you need to download all datasets. To do it you should just run script
download.sh
from working directory. Note, thatkaggle
pip
library should be installed to download some datasets. As a result four datasets will be downloaded and foldersadult
,bank
,compass
,kdd
will 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