From fd1420edc1469dfb0e746873adc3038e3f3d8587 Mon Sep 17 00:00:00 2001 From: eustomaqua Date: Tue, 3 Dec 2019 15:40:56 +0800 Subject: [PATCH 1/4] packages missing when running tests.sh --- requirements.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/requirements.txt b/requirements.txt index 3670c48..7db2e7b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,3 +12,6 @@ simplejson sklearn statsmodels tqdm + +gin-config==0.1.1 +mock From c7ae838ec399ad22b726427d98e15dde47a99ee5 Mon Sep 17 00:00:00 2001 From: eustomaqua Date: Tue, 3 Dec 2019 20:35:25 +0800 Subject: [PATCH 2/4] fix bugs in tests.sh --- .gitignore | 6 ++++++ examples/college_admission_util_test.py | 3 ++- examples/config/college_admission_config.gin | 20 ++++++++++++++------ 3 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..30580c9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.idea/ +.vscode/ +.ipynb_checkpoints +*/.ipynb_checkpoints +__pycache__ +*/__pycache__ diff --git a/examples/college_admission_util_test.py b/examples/college_admission_util_test.py index b069cfc..9a2ee98 100644 --- a/examples/college_admission_util_test.py +++ b/examples/college_admission_util_test.py @@ -75,7 +75,8 @@ def test_example_configuration_runs(self): referred to in college_admission_config.gin configuration file. """ gin.parse_config_file( - 'third_party/py/fairness_gym/examples/config/' + # 'third_party/py/fairness_gym/examples/config/' + 'examples/config/' 'college_admission_config.gin') runner = runner_lib.Runner() runner.run() diff --git a/examples/config/college_admission_config.gin b/examples/config/college_admission_config.gin index d8c681a..a53f099 100644 --- a/examples/config/college_admission_config.gin +++ b/examples/config/college_admission_config.gin @@ -1,9 +1,17 @@ -import fairness_gym.agents.college_admission_jury -import fairness_gym.environments.college_admission -import fairness_gym.examples.college_admission_util -import fairness_gym.metrics.error_metrics -import fairness_gym.metrics.value_tracking_metrics -import fairness_gym.runner_lib +# import fairness_gym.agents.college_admission_jury +# import fairness_gym.environments.college_admission +# import fairness_gym.examples.college_admission_util +# import fairness_gym.metrics.error_metrics +# import fairness_gym.metrics.value_tracking_metrics +# import fairness_gym.runner_lib + +import agents.college_admission_jury +import environments.college_admission +import examples.college_admission_util +import metrics.error_metrics +import metrics.value_tracking_metrics +import runner_lib + # Configure the runner. Runner.num_steps = 3000 From 16a54c6e9abdc7171a3b8f3e150cec39a086c0e1 Mon Sep 17 00:00:00 2001 From: eustomaqua Date: Wed, 4 Dec 2019 00:16:19 +0800 Subject: [PATCH 3/4] specialize sklearn version --- agents/threshold_policies.py | 1 + requirements.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/agents/threshold_policies.py b/agents/threshold_policies.py index b06c814..0b0642e 100644 --- a/agents/threshold_policies.py +++ b/agents/threshold_policies.py @@ -201,6 +201,7 @@ def equality_of_opportunity_thresholds(group_predictions, sample_weight=group_weights[group]) roc[group] = (fprs, np.nan_to_num(tprs), thresholds) + # roc[group] = (np.nan_to_num(fprs), np.nan_to_num(tprs), thresholds) def negative_reward(tpr_target): """Returns negative reward suitable for optimization by minimization.""" diff --git a/requirements.txt b/requirements.txt index 7db2e7b..52e9d81 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,3 +15,4 @@ tqdm gin-config==0.1.1 mock +scikit-learn==0.20.2 # better not to use 0.19.1 From 0d69bdb022b2457da29c4f580ad22495cc121a53 Mon Sep 17 00:00:00 2001 From: eustomaqua Date: Wed, 4 Dec 2019 01:24:47 +0800 Subject: [PATCH 4/4] typos in examples/docs/*.md --- examples/docs/college_admission_example.md | 2 +- examples/docs/lending_example.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/docs/college_admission_example.md b/examples/docs/college_admission_example.md index 96d65c8..005cb5b 100644 --- a/examples/docs/college_admission_example.md +++ b/examples/docs/college_admission_example.md @@ -100,7 +100,7 @@ contexts, even if the agent is not designed to anticipate strategic manipulation To run the experiments for the college admissions scenario to recreate the plots from the KDD 2019 paper [4] run the following command: -`python examples/college_admissions_main --num_steps=750 --burnin=10 +`python examples/college_admissions_main.py --num_steps=750 --burnin=10 --epsilon_greedy=False --verbose=True --noisy_dist='gaussian' --noisy_features=False --noisy_threshold=False --feature_mu='0.5','0.5' --output_dir="path/to/output_dir/kdd"` diff --git a/examples/docs/lending_example.md b/examples/docs/lending_example.md index 242a4ba..2e25404 100644 --- a/examples/docs/lending_example.md +++ b/examples/docs/lending_example.md @@ -56,7 +56,7 @@ over the course of the simulation. Precision and Recall stratified by group. ## Interpreting the plots -Running examples/lending_experiment_main.py reproduces the plots for the KDD +Running examples/lending_experiments_main.py reproduces the plots for the KDD workshop paper [3]. The cumulative loans given to each group are plotted over the course of the