{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/tabfairgan-fair-tabular-data-generation-with","title":"TabFairGAN: Fair Tabular Data Generation with Generative Adversarial Networks","arxiv_id":"2109.00666","date":"2021-09-02","proceeding":null,"authors":["Amirarsalan Rajabi","Ozlem Ozmen Garibay"],"abstract":"With the increasing reliance on automated decision making, the issue of algorithmic fairness has gained increasing importance. In this paper, we propose a Generative Adversarial Network for tabular data generation. The model includes two phases of training. In the first phase, the model is trained to accurately generate synthetic data similar to the reference dataset. In the second phase we modify the value function to add fairness constraint, and continue training the network to generate data that is both accurate and fair. We test our results in both cases of unconstrained, and constrained fair data generation. In the unconstrained case, i.e. when the model is only trained in the first phase and is only meant to generate accurate data following the same joint probability distribution of the real data, the results show that the model beats state-of-the-art GANs proposed in the literature to produce synthetic tabular data. Also, in the constrained case in which the first phase of training is followed by the second phase, we train the network and test it on four datasets studied in the fairness literature and compare our results with another state-of-the-art pre-processing method, and present the promising results that it achieves. Comparing to other studies utilizing GANs for fair data generation, our model is comparably more stable by using only one critic, and also by avoiding major problems of original GAN model, such as mode-dropping and non-convergence, by implementing a Wasserstein GAN.","url_abs":"https://arxiv.org/abs/2109.00666v1","url_pdf":"https://arxiv.org/pdf/2109.00666v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"tabfairgan-fair-tabular-data-generation-with","repo_url":"https://github.com/amirarsalan90/TabFairGAN","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":null,"task_name":"Generative Adversarial Network"},{"task_slug":"tabular-data-generation","task_name":"Tabular Data Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2109.00666","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2109.00666"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/amirarsalan90/TabFairGAN","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"unverified":4},"by_repo_kind":{"official":{"samples":6,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"9826f904215414b6","entry":"get_gradient","repo":"amirarsalan90/TabFairGAN","repo_kind":"official","path":"src/tabfairgan/modules.py","file_url":"https://github.com/amirarsalan90/TabFairGAN/blob/HEAD/src/tabfairgan/modules.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9826f904215414b6"}},{"code_sha256_prefix":"891e1a30409c7fec","entry":"gradient_penalty","repo":"amirarsalan90/TabFairGAN","repo_kind":"official","path":"src/tabfairgan/modules.py","file_url":"https://github.com/amirarsalan90/TabFairGAN/blob/HEAD/src/tabfairgan/modules.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"891e1a30409c7fec"}},{"code_sha256_prefix":"2b2e3b1708811555","entry":"get_cont_cat_transform","repo":"amirarsalan90/TabFairGAN","repo_kind":"official","path":"src/tabfairgan/utils.py","file_url":"https://github.com/amirarsalan90/TabFairGAN/blob/HEAD/src/tabfairgan/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2b2e3b1708811555"}},{"code_sha256_prefix":"fe4a00c3f2e58f59","entry":"get_gen_loss","repo":"amirarsalan90/TabFairGAN","repo_kind":"official","path":"src/tabfairgan/modules.py","file_url":"https://github.com/amirarsalan90/TabFairGAN/blob/HEAD/src/tabfairgan/modules.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fe4a00c3f2e58f59"}},{"code_sha256_prefix":"c297a90bb1f5c523","entry":"get_ohe_data_fair","repo":"amirarsalan90/TabFairGAN","repo_kind":"official","path":"src/tabfairgan/utils.py","file_url":"https://github.com/amirarsalan90/TabFairGAN/blob/HEAD/src/tabfairgan/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c297a90bb1f5c523"}},{"code_sha256_prefix":"0bb67b431ecfea38","entry":"get_ohe_data_nofair","repo":"amirarsalan90/TabFairGAN","repo_kind":"official","path":"src/tabfairgan/utils.py","file_url":"https://github.com/amirarsalan90/TabFairGAN/blob/HEAD/src/tabfairgan/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0bb67b431ecfea38"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}