-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add: Sample notebook was added to test
$Subject
- Loading branch information
1 parent
8f25385
commit 04474ac
Showing
1 changed file
with
84 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"id": "d3c389e5", | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [ | ||
"# Load all necessary packages\n", | ||
"import sys\n", | ||
"sys.path.insert(1, \"../\") \n", | ||
"\n", | ||
"import numpy as np\n", | ||
"np.random.seed(0)\n", | ||
"\n", | ||
"import time\n", | ||
"\n", | ||
"# Add a sleep statement to wait for imports to be fully loaded\n", | ||
"time.sleep(20) # You can adjust the sleep duration based on your needs\n", | ||
"\n", | ||
"from aif360.datasets import GermanDataset\n", | ||
"time.sleep(20)\n", | ||
"from aif360.metrics import BinaryLabelDatasetMetric\n", | ||
"time.sleep(20)\n", | ||
"from aif360.algorithms.preprocessing import Reweighing\n", | ||
"time.sleep(20)\n", | ||
"\n", | ||
"from IPython.display import Markdown, display\n", | ||
"time.sleep(20)\n", | ||
"\n", | ||
"dataset_orig = GermanDataset(\n", | ||
" protected_attribute_names=['age'], # this dataset also contains protected\n", | ||
" # attribute for \"sex\" which we do not\n", | ||
" # consider in this evaluation\n", | ||
" privileged_classes=[lambda x: x >= 25], # age >=25 is considered privileged\n", | ||
" features_to_drop=['personal_status', 'sex'] # ignore sex-related attributes\n", | ||
")\n", | ||
"\n", | ||
"dataset_orig_train, dataset_orig_test = dataset_orig.split([0.7], shuffle=True)\n", | ||
"\n", | ||
"privileged_groups = [{'age': 1}]\n", | ||
"unprivileged_groups = [{'age': 0}]\n", | ||
"\n", | ||
"metric_orig_train = BinaryLabelDatasetMetric(dataset_orig_train, \n", | ||
" unprivileged_groups=unprivileged_groups,\n", | ||
" privileged_groups=privileged_groups)\n", | ||
"display(Markdown(\"#### Original training dataset\"))\n", | ||
"print(\"Difference in mean outcomes between unprivileged and privileged groups = %f\" % metric_orig_train.mean_difference())\n", | ||
"\n", | ||
"RW = Reweighing(unprivileged_groups=unprivileged_groups,\n", | ||
" privileged_groups=privileged_groups)\n", | ||
"dataset_transf_train = RW.fit_transform(dataset_orig_train)\n", | ||
"\n", | ||
"metric_transf_train = BinaryLabelDatasetMetric(dataset_transf_train, \n", | ||
" unprivileged_groups=unprivileged_groups,\n", | ||
" privileged_groups=privileged_groups)\n", | ||
"display(Markdown(\"#### Transformed training dataset\"))\n", | ||
"print(\"Difference in mean outcomes between unprivileged and privileged groups = %f\" % metric_transf_train.mean_difference())\n" | ||
] | ||
} | ||
], | ||
"metadata": { | ||
"kernelspec": { | ||
"display_name": "Python 3 (ipykernel)", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 3 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython3", | ||
"version": "3.9.7" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 5 | ||
} |