{"id":13689223,"url":"https://github.com/raamana/confounds","last_synced_at":"2025-04-13T05:34:49.999Z","repository":{"id":38396125,"uuid":"197298208","full_name":"raamana/confounds","owner":"raamana","description":"Conquering confounds and covariates: methods, library and guidance","archived":false,"fork":false,"pushed_at":"2024-03-21T12:15:13.000Z","size":28617,"stargazers_count":38,"open_issues_count":14,"forks_count":14,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-26T23:02:56.527Z","etag":null,"topics":["biostatistics","classification","combat","confound","confounding","covariates","cross-validation","deconfounding","machine-learning","neuroimaging","neuroscience","regression","scikit-learn","statistics"],"latest_commit_sha":null,"homepage":"https://raamana.github.io/confounds","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raamana.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null}},"created_at":"2019-07-17T02:13:53.000Z","updated_at":"2025-02-25T10:53:06.000Z","dependencies_parsed_at":"2024-03-21T13:44:29.241Z","dependency_job_id":null,"html_url":"https://github.com/raamana/confounds","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raamana%2Fconfounds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raamana%2Fconfounds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raamana%2Fconfounds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raamana%2Fconfounds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raamana","download_url":"https://codeload.github.com/raamana/confounds/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248670517,"owners_count":21142896,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["biostatistics","classification","combat","confound","confounding","covariates","cross-validation","deconfounding","machine-learning","neuroimaging","neuroscience","regression","scikit-learn","statistics"],"created_at":"2024-08-02T15:01:38.798Z","updated_at":"2025-04-13T05:34:44.991Z","avatar_url":"https://github.com/raamana.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\n\nConquering confounds and covariates in machine learning\n------------------------------------------------------------\n\n.. image:: https://github.com/raamana/confounds/blob/master/confounds_card.jpg\n\n.. image:: https://zenodo.org/badge/197298208.svg\n   :target: https://zenodo.org/badge/latestdoi/197298208\n\n.. image:: https://img.shields.io/pypi/v/confounds.svg\n        :target: https://pypi.python.org/pypi/confounds\n\n.. image:: https://img.shields.io/travis/raamana/confounds.svg\n        :target: https://travis-ci.org/raamana/confounds\n\nNews\n~~~~~~~~~~~~~~~~\n\n- **Hackathon folks**: Those coming here from the hackathon, please go here to learn some ideas for contribution: https://github.com/ohbm/hackathon2021/issues/34\n\n- The previous slides for the OHBM Hackathon and Open Science Room are here: https://crossinvalidation.com/2020/03/04/conquering-confounds-and-covariates-in-machine-learning/\n\nVision / Goals\n~~~~~~~~~~~~~~~\n\nThe high-level goals of this package is to develop high-quality library to conquer confounds and covariates in ML applications. By conquering, we mean methods and tools to\n\n1. visualize and establish the presence of confounds (e.g. quantifying confound-to-target relationships),\n2. offer solutions to handle them appropriately via correction or removal etc, and\n3. analyze the effect of the deconfounding methods in the processed data (e.g. ability to check if they worked at all, or if they introduced new or unwanted biases etc).\n\n\nDocumentation\n~~~~~~~~~~~~~~\n\nhttps://raamana.github.io/confounds\n\n\nMethods\n~~~~~~~~\n\nAvailable:\n\n- Residualize (e.g. via regression)\n- Augment (include confounds as predictors)\n- Some utils\n\nTo be added:\n\n- Harmonize (correct batch effects via rescaling or normalization etc)\n- Stratify (sub- or re-sampling procedures to minimize confounding)\n- Full set of utilities (Goals 1 and 3)\n- reweight (based on propensity scores as in IPW, or based on confounds)\n- estimate propensity scores\n\nIn a more schematic way:\n\n.. image:: docs/schematic_method_impl_status.png\n\n\n\nResources\n~~~~~~~~~\nany useful resources; papers, presentations, lectures related to the problems of confounding can be found here https://github.com/raamana/confounds/blob/master/docs/references_confounds.rst\n\n\n\nCitation\n~~~~~~~~~~~~~~\n\nIf you found any parts of ``confounds`` to be useful in your research, directly or indirectly, **I'd appreciate if you could cite** the following:\n\n- Pradeep Reddy Raamana (2020), \"Conquering confounds and covariates in machine learning with the python library confounds\", Version 0.1.1, Zenodo. http://doi.org/10.5281/zenodo.3701528\n\n\nContributors are most welcome.\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nYour contributions of all kinds will be greatly appreciated. Learn how to contribute to this repo `here \u003cCONTRIBUTING.rst\u003e`_.\n\nAll contributors making non-trivial contributions will be\n\n- publicly and clearly acknowledged on the `authors page \u003cAUTHORS.rst\u003e`_\n- become an author on the [software] paper to be published when it's ready soon.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraamana%2Fconfounds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraamana%2Fconfounds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraamana%2Fconfounds/lists"}