{"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/bias-in-machine-learning-software-why-how","title":"Bias in Machine Learning Software: Why? How? What to do?","arxiv_id":"2105.12195","date":"2021-05-25","proceeding":null,"authors":["Joymallya Chakraborty","Suvodeep Majumder","Tim Menzies"],"abstract":"Increasingly, software is making autonomous decisions in case of criminal sentencing, approving credit cards, hiring employees, and so on. Some of these decisions show bias and adversely affect certain social groups (e.g. those defined by sex, race, age, marital status). Many prior works on bias mitigation take the following form: change the data or learners in multiple ways, then see if any of that improves fairness. Perhaps a better approach is to postulate root causes of bias and then applying some resolution strategy. This paper postulates that the root causes of bias are the prior decisions that affect- (a) what data was selected and (b) the labels assigned to those examples. Our Fair-SMOTE algorithm removes biased labels; and rebalances internal distributions such that based on sensitive attribute, examples are equal in both positive and negative classes. On testing, it was seen that this method was just as effective at reducing bias as prior approaches. Further, models generated via Fair-SMOTE achieve higher performance (measured in terms of recall and F1) than other state-of-the-art fairness improvement algorithms. To the best of our knowledge, measured in terms of number of analyzed learners and datasets, this study is one of the largest studies on bias mitigation yet presented in the literature.","url_abs":"https://arxiv.org/abs/2105.12195v3","url_pdf":"https://arxiv.org/pdf/2105.12195v3.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":"bias-in-machine-learning-software-why-how","repo_url":"https://github.com/joymallyac/Fair-SMOTE","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null},{"paper_slug":"bias-in-machine-learning-software-why-how","repo_url":"https://github.com/anonymous12138/biasmitigation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"attribute","task_name":"Attribute"},{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"},{"task_slug":"fairness","task_name":"Fairness"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2105.12195","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.12195"}},"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/anonymous12138/biasmitigation","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/joymallyac/Fair-SMOTE","reach":null}],"summary":{"ran_honours":5,"ran_fixture":3,"ran_draft_wrong":2,"unverified":1},"by_repo_kind":{"official":{"samples":5,"ran":4,"repositories":1},"listed":{"samples":6,"ran":6,"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":"e69404826f3a9814","entry":"calculate_Disparate_Impact","repo":"anonymous12138/biasmitigation","repo_kind":"listed","path":"Measure.py","file_url":"https://github.com/anonymous12138/biasmitigation/blob/HEAD/Measure.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e69404826f3a9814"}},{"code_sha256_prefix":"ee14e6181f99a49f","entry":"calculate_Disparate_Impact","repo":"joymallyac/Fair-SMOTE","repo_kind":"official","path":"Measure.py","file_url":"https://github.com/joymallyac/Fair-SMOTE/blob/HEAD/Measure.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ee14e6181f99a49f"}},{"code_sha256_prefix":"75802a7987de5c29","entry":"calculate_average_odds_difference","repo":"anonymous12138/biasmitigation","repo_kind":"listed","path":"Measure.py","file_url":"https://github.com/anonymous12138/biasmitigation/blob/HEAD/Measure.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"75802a7987de5c29"}},{"code_sha256_prefix":"e15b568227d6c7af","entry":"calculate_average_odds_difference","repo":"joymallyac/Fair-SMOTE","repo_kind":"official","path":"Measure.py","file_url":"https://github.com/joymallyac/Fair-SMOTE/blob/HEAD/Measure.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e15b568227d6c7af"}},{"code_sha256_prefix":"b453a82cad0f3255","entry":"calculate_flip","repo":"anonymous12138/biasmitigation","repo_kind":"listed","path":"Baseline/FairSMOTE.py","file_url":"https://github.com/anonymous12138/biasmitigation/blob/HEAD/Baseline/FairSMOTE.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b453a82cad0f3255"}},{"code_sha256_prefix":"b8275eca81364591","entry":"flip","repo":"anonymous12138/biasmitigation","repo_kind":"listed","path":"Baseline/FairSMOTE.py","file_url":"https://github.com/anonymous12138/biasmitigation/blob/HEAD/Baseline/FairSMOTE.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b8275eca81364591"}},{"code_sha256_prefix":"096471a0530ac365","entry":"get_counts","repo":"anonymous12138/biasmitigation","repo_kind":"listed","path":"Measure.py","file_url":"https://github.com/anonymous12138/biasmitigation/blob/HEAD/Measure.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"096471a0530ac365"}},{"code_sha256_prefix":"97ef180ed3177f3f","entry":"get_counts","repo":"joymallyac/Fair-SMOTE","repo_kind":"official","path":"Measure.py","file_url":"https://github.com/joymallyac/Fair-SMOTE/blob/HEAD/Measure.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"97ef180ed3177f3f"}},{"code_sha256_prefix":"814857a19ce23980","entry":"get_ngbr","repo":"joymallyac/Fair-SMOTE","repo_kind":"official","path":"Generate_Samples.py","file_url":"https://github.com/joymallyac/Fair-SMOTE/blob/HEAD/Generate_Samples.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"814857a19ce23980"}},{"code_sha256_prefix":"db204bc45c8cd85a","entry":"reg2clf","repo":"anonymous12138/biasmitigation","repo_kind":"listed","path":"Baseline/FairSMOTE.py","file_url":"https://github.com/anonymous12138/biasmitigation/blob/HEAD/Baseline/FairSMOTE.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"db204bc45c8cd85a"}},{"code_sha256_prefix":"c7d03937e3c8925b","entry":"generate_samples","repo":"joymallyac/Fair-SMOTE","repo_kind":"official","path":"Generate_Samples.py","file_url":"https://github.com/joymallyac/Fair-SMOTE/blob/HEAD/Generate_Samples.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c7d03937e3c8925b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}