{"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/a-generic-framework-for-conformal-fairness","title":"A Generic Framework for Conformal Fairness","arxiv_id":"2505.16115","date":"2025-05-22","proceeding":null,"authors":["Aditya T. Vadlamani","Anutam Srinivasan","Pranav Maneriker","Ali Payani","Srinivasan Parthasarathy"],"abstract":"Conformal Prediction (CP) is a popular method for uncertainty quantification with machine learning models. While conformal prediction provides probabilistic guarantees regarding the coverage of the true label, these guarantees are agnostic to the presence of sensitive attributes within the dataset. In this work, we formalize \\textit{Conformal Fairness}, a notion of fairness using conformal predictors, and provide a theoretically well-founded algorithm and associated framework to control for the gaps in coverage between different sensitive groups. Our framework leverages the exchangeability assumption (implicit to CP) rather than the typical IID assumption, allowing us to apply the notion of Conformal Fairness to data types and tasks that are not IID, such as graph data. Experiments were conducted on graph and tabular datasets to demonstrate that the algorithm can control fairness-related gaps in addition to coverage aligned with theoretical expectations.","url_abs":"https://arxiv.org/abs/2505.16115v1","url_pdf":"https://arxiv.org/pdf/2505.16115v1.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":"a-generic-framework-for-conformal-fairness","repo_url":"https://github.com/adityavadlamani/conformal-fairness","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":null}],"tasks":[{"task_slug":"conformal-prediction","task_name":"Conformal Prediction"},{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":"uncertainty-quantification","task_name":"Uncertainty Quantification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2505.16115","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2505.16115"}},"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/adityavadlamani/conformal-fairness","reach":null}],"summary":{"ran":14,"ran_draft_wrong":1,"unverified":4},"by_repo_kind":{"official":{"samples":19,"ran":15,"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":"34ff3a39ca000df5","entry":"BaseGNNConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"34ff3a39ca000df5"}},{"code_sha256_prefix":"7adc3bbf7e9f58e5","entry":"CVConformalHyperparamConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7adc3bbf7e9f58e5"}},{"code_sha256_prefix":"4c9255601efc5cd6","entry":"ConfGNNConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4c9255601efc5cd6"}},{"code_sha256_prefix":"1f1dd1e6e717944b","entry":"DatasetConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1f1dd1e6e717944b"}},{"code_sha256_prefix":"8c3b193c34f3a0e8","entry":"DatasetSplitConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8c3b193c34f3a0e8"}},{"code_sha256_prefix":"f99c8e3725ecc263","entry":"DiffusionConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f99c8e3725ecc263"}},{"code_sha256_prefix":"752c123ceaab675b","entry":"LoggingConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"752c123ceaab675b"}},{"code_sha256_prefix":"9b2f3ed234d10480","entry":"MultiSplitTuneFractionConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9b2f3ed234d10480"}},{"code_sha256_prefix":"a71c1290556641b2","entry":"NeighborhoodConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a71c1290556641b2"}},{"code_sha256_prefix":"0fb229c95ea10f05","entry":"PrimitiveScoreConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0fb229c95ea10f05"}},{"code_sha256_prefix":"ddccbc6a2cc4333b","entry":"RegularizedConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ddccbc6a2cc4333b"}},{"code_sha256_prefix":"06dd1ccc5c2d1c32","entry":"ResourceConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"06dd1ccc5c2d1c32"}},{"code_sha256_prefix":"eddfe24cf4bd52b4","entry":"SharedBaseConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"eddfe24cf4bd52b4"}},{"code_sha256_prefix":"1053b9c901a01e7c","entry":"WandBConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1053b9c901a01e7c"}},{"code_sha256_prefix":"1885e530221af6f2","entry":"runs_to_result_df","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"analysis/get_best_cfgnn_wandb.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/analysis/get_best_cfgnn_wandb.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1885e530221af6f2"}},{"code_sha256_prefix":"e6e7ae435075f97a","entry":"ConfExptConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.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":"e6e7ae435075f97a"}},{"code_sha256_prefix":"703eaf52cea916ea","entry":"ConfFairExptConfig","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.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":"703eaf52cea916ea"}},{"code_sha256_prefix":"ded106389afff55a","entry":"ConformalMethod","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.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":"ded106389afff55a"}},{"code_sha256_prefix":"671d144a05c235e4","entry":"FairConformalPredictor","repo":"adityavadlamani/conformal-fairness","repo_kind":"official","path":"conformal_fairness/conformal_predictor_fair.py","file_url":"https://github.com/adityavadlamani/conformal-fairness/blob/HEAD/conformal_fairness/conformal_predictor_fair.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":"671d144a05c235e4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}