{ "cells": [ { "cell_type": "markdown", "metadata": { "scrolled": true }, "source": [ "# Meta-Algorithm for fair classification.\n", "The fairness metrics to be optimized have to specified as \"input\". Currently we can handle the following fairness metrics:\n", "Statistical Rate, False Positive Rate, True Positive Rate, False Negative Rate, True Negative Rate,\n", "Accuracy Rate, False Discovery Rate, False Omission Rate, Positive Predictive Rate, Negative Predictive Rate.\n", "\n", "-----------------------------\n", "\n", "The example below considers the cases of False Discovery Parity and Statistical Rate (disparate impact).\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from IPython.display import Markdown, display\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from sklearn.preprocessing import MaxAbsScaler\n", "from tqdm import tqdm\n", "\n", "from aif360.metrics import BinaryLabelDatasetMetric\n", "from aif360.metrics import ClassificationMetric\n", "from aif360.algorithms.preprocessing.optim_preproc_helpers.data_preproc_functions import load_preproc_data_adult\n", "from aif360.algorithms.inprocessing import MetaFairClassifier\n", "\n", "np.random.seed(12345)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Original Training dataset" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "dataset_orig = load_preproc_data_adult()\n", "\n", "privileged_groups = [{'sex': 1}]\n", "unprivileged_groups = [{'sex': 0}]\n", "\n", "dataset_orig_train, dataset_orig_test = dataset_orig.split([0.7], shuffle=True)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "min_max_scaler = MaxAbsScaler()\n", "dataset_orig_train.features = min_max_scaler.fit_transform(dataset_orig_train.features)\n", "dataset_orig_test.features = min_max_scaler.transform(dataset_orig_test.features)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true, "tags": [] }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "", "text/markdown": "#### Training Dataset shape" }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": "(34189, 18)\n" }, { "output_type": "display_data", "data": { "text/plain": "", "text/markdown": "#### Favorable and unfavorable labels" }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": "1.0 0.0\n" }, { "output_type": "display_data", "data": { "text/plain": "", "text/markdown": "#### Protected attribute names" }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": "['sex', 'race']\n" }, { "output_type": "display_data", "data": { "text/plain": "", "text/markdown": "#### Privileged and unprivileged protected attribute values" }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": "[array([1.]), array([1.])] [array([0.]), array([0.])]\n" }, { "output_type": "display_data", "data": { "text/plain": "", "text/markdown": "#### Dataset feature names" }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": "['race', 'sex', 'Age (decade)=10', 'Age (decade)=20', 'Age (decade)=30', 'Age (decade)=40', 'Age (decade)=50', 'Age (decade)=60', 'Age (decade)=>=70', 'Education Years=6', 'Education Years=7', 'Education Years=8', 'Education Years=9', 'Education Years=10', 'Education Years=11', 'Education Years=12', 'Education Years=<6', 'Education Years=>12']\n" } ], "source": [ "display(Markdown(\"#### Training Dataset shape\"))\n", "print(dataset_orig_train.features.shape)\n", "display(Markdown(\"#### Favorable and unfavorable labels\"))\n", "print(dataset_orig_train.favorable_label, dataset_orig_train.unfavorable_label)\n", "display(Markdown(\"#### Protected attribute names\"))\n", "print(dataset_orig_train.protected_attribute_names)\n", "display(Markdown(\"#### Privileged and unprivileged protected attribute values\"))\n", "print(dataset_orig_train.privileged_protected_attributes, \n", " dataset_orig_train.unprivileged_protected_attributes)\n", "display(Markdown(\"#### Dataset feature names\"))\n", "print(dataset_orig_train.feature_names)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": "Train set: Difference in mean outcomes between unprivileged and privileged groups = -0.193\nTest set: Difference in mean outcomes between unprivileged and privileged groups = -0.199\n" } ], "source": [ "metric_orig_train = BinaryLabelDatasetMetric(dataset_orig_train, \n", " unprivileged_groups=unprivileged_groups,\n", " privileged_groups=privileged_groups)\n", "print(\"Train set: Difference in mean outcomes between unprivileged and privileged groups = {:.3f}\".format(metric_orig_train.mean_difference()))\n", "metric_orig_test = BinaryLabelDatasetMetric(dataset_orig_test, \n", " unprivileged_groups=unprivileged_groups,\n", " privileged_groups=privileged_groups)\n", "print(\"Test set: Difference in mean outcomes between unprivileged and privileged groups = {:.3f}\".format(metric_orig_test.mean_difference()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Algorithm without debiasing\n", "\n", "Get classifier without fairness constraints" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": false }, "outputs": [], "source": [ "biased_model = MetaFairClassifier(tau=0, sensitive_attr=\"sex\", type=\"fdr\").fit(dataset_orig_train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Apply the unconstrained model to test data" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "tags": [] }, "outputs": [], "source": [ "dataset_bias_test = biased_model.predict(dataset_orig_test)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": "Test set: Classification accuracy = 0.787\nTest set: Balanced classification accuracy = 0.619\nTest set: Disparate impact = 0.433\nTest set: False discovery rate ratio = 0.492\n" } ], "source": [ "classified_metric_bias_test = ClassificationMetric(dataset_orig_test, dataset_bias_test,\n", " unprivileged_groups=unprivileged_groups,\n", " privileged_groups=privileged_groups)\n", "print(\"Test set: Classification accuracy = {:.3f}\".format(classified_metric_bias_test.accuracy()))\n", "TPR = classified_metric_bias_test.true_positive_rate()\n", "TNR = classified_metric_bias_test.true_negative_rate()\n", "bal_acc_bias_test = 0.5*(TPR+TNR)\n", "print(\"Test set: Balanced classification accuracy = {:.3f}\".format(bal_acc_bias_test))\n", "print(\"Test set: Disparate impact = {:.3f}\".format(classified_metric_bias_test.disparate_impact()))\n", "fdr = classified_metric_bias_test.false_discovery_rate_ratio()\n", "fdr = min(fdr, 1/fdr)\n", "print(\"Test set: False discovery rate ratio = {:.3f}\".format(fdr))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Debiasing with FDR objective\n", "\n", "Learn a debiased classifier" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "debiased_model = MetaFairClassifier(tau=0.7, sensitive_attr=\"sex\", type=\"fdr\").fit(dataset_orig_train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Apply the debiased model to test data" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "dataset_debiasing_test = debiased_model.predict(dataset_orig_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Model - with debiasing - dataset metrics" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": "Test set: Difference in mean outcomes between unprivileged and privileged groups = -0.126\n" } ], "source": [ "metric_dataset_debiasing_test = BinaryLabelDatasetMetric(dataset_debiasing_test, \n", " unprivileged_groups=unprivileged_groups,\n", " privileged_groups=privileged_groups)\n", "\n", "print(\"Test set: Difference in mean outcomes between unprivileged and privileged groups = {:.3f}\".format(metric_dataset_debiasing_test.mean_difference()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Model - with debiasing - classification metrics" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": "Test set: Classification accuracy = 0.694\nTest set: Balanced classification accuracy = 0.712\nTest set: Disparate impact = 0.730\nTest set: False discovery rate ratio = 0.643\n" } ], "source": [ "classified_metric_debiasing_test = ClassificationMetric(dataset_orig_test, \n", " dataset_debiasing_test,\n", " unprivileged_groups=unprivileged_groups,\n", " privileged_groups=privileged_groups)\n", "print(\"Test set: Classification accuracy = {:.3f}\".format(classified_metric_debiasing_test.accuracy()))\n", "TPR = classified_metric_debiasing_test.true_positive_rate()\n", "TNR = classified_metric_debiasing_test.true_negative_rate()\n", "bal_acc_debiasing_test = 0.5*(TPR+TNR)\n", "print(\"Test set: Balanced classification accuracy = {:.3f}\".format(bal_acc_debiasing_test))\n", "print(\"Test set: Disparate impact = {:.3f}\".format(classified_metric_debiasing_test.disparate_impact()))\n", "fdr = classified_metric_debiasing_test.false_discovery_rate_ratio()\n", "fdr = min(fdr, 1/fdr)\n", "print(\"Test set: False discovery rate ratio = {:.3f}\".format(fdr))" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "We see that the FDR ratio has increased meaning it is now closer to parity." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running the algorithm for different tau values" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stderr", "text": "100%|██████████| 10/10 [00:16<00:00, 1.65s/it]\n" } ], "source": [ "accuracies, statistical_rates = [], []\n", "s_attr = \"race\"\n", "\n", "all_tau = np.linspace(0, 0.9, 10)\n", "for tau in tqdm(all_tau):\n", " debiased_model = MetaFairClassifier(tau=tau, sensitive_attr=s_attr, type='sr')\n", " debiased_model.fit(dataset_orig_train)\n", "\n", " dataset_debiasing_test = debiased_model.predict(dataset_orig_test)\n", " metric = ClassificationMetric(dataset_orig_test, dataset_debiasing_test,\n", " unprivileged_groups=[{s_attr: 0}],\n", " privileged_groups=[{s_attr: 1}])\n", "\n", " accuracies.append(metric.accuracy())\n", " sr = metric.disparate_impact()\n", " statistical_rates.append(min(sr, 1/sr))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Output fairness is represented by $\\gamma_{sr}$, which is the disparate impact ratio of different sensitive attribute values." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "fig, ax1 = plt.subplots(figsize=(13,7))\n", "ax1.plot(all_tau, accuracies, color='r')\n", "ax1.set_title('Accuracy and $\\gamma_{sr}$ vs Tau', fontsize=16, fontweight='bold')\n", "ax1.set_xlabel('Input Tau', fontsize=16, fontweight='bold')\n", "ax1.set_ylabel('Accuracy', color='r', fontsize=16, fontweight='bold')\n", "ax1.xaxis.set_tick_params(labelsize=14)\n", "ax1.yaxis.set_tick_params(labelsize=14)\n", "\n", "ax2 = ax1.twinx()\n", "ax2.plot(all_tau, statistical_rates, color='b')\n", "ax2.set_ylabel('$\\gamma_{sr}$', color='b', fontsize=16, fontweight='bold')\n", "ax2.yaxis.set_tick_params(labelsize=14)\n", "ax2.grid(True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "References:\n", "\n", " Celis, L. E., Huang, L., Keswani, V., & Vishnoi, N. K. (2018). \n", " \"Classification with Fairness Constraints: A Meta-Algorithm with Provable Guarantees.\"\"\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.6.9 64-bit", "language": "python", "name": "python_defaultSpec_1596663900877" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.15" } }, "nbformat": 4, "nbformat_minor": 2 }