{"id":10609595,"url":"https://github.com/Techtonique/teller","last_synced_at":"2025-09-12T09:30:55.747Z","repository":{"id":46087006,"uuid":"287447185","full_name":"Techtonique/teller","owner":"Techtonique","description":"Model-agnostic Statistical/Machine Learning explainability (currently Python) for tabular data","archived":false,"fork":false,"pushed_at":"2024-08-07T06:28:44.000Z","size":6079,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-04T20:19:17.761Z","etag":null,"topics":["explainable-ai","xai","xai-library"],"latest_commit_sha":null,"homepage":"https://techtonique.github.io/teller/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause-clear","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Techtonique.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"Techtonique"}},"created_at":"2020-08-14T04:57:59.000Z","updated_at":"2024-08-26T23:59:45.000Z","dependencies_parsed_at":"2023-01-19T05:00:57.391Z","dependency_job_id":"85d7394b-cb3a-4615-8ed8-a1799276dad7","html_url":"https://github.com/Techtonique/teller","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Techtonique%2Fteller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Techtonique%2Fteller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Techtonique%2Fteller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Techtonique%2Fteller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Techtonique","download_url":"https://codeload.github.com/Techtonique/teller/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232715087,"owners_count":18565360,"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":["explainable-ai","xai","xai-library"],"created_at":"2024-06-02T09:13:48.196Z","updated_at":"2025-01-06T11:32:44.238Z","avatar_url":"https://github.com/Techtonique.png","language":"Jupyter Notebook","funding_links":["https://github.com/sponsors/Techtonique"],"categories":["Tools"],"sub_categories":["Interpretability/Explicability"],"readme":"![teller logo](the-teller.png)\n\n\u003chr\u003e  \n\n![PyPI](https://img.shields.io/pypi/v/the-teller) [![PyPI - License](https://img.shields.io/pypi/l/the-teller)](https://github.com/thierrymoudiki/teller/blob/master/LICENSE) [![Downloads](https://pepy.tech/badge/the-teller)](https://pepy.tech/project/the-teller) \n[![HitCount](https://hits.dwyl.com/Techtonique/teller.svg?style=flat-square)](http://hits.dwyl.com/Techtonique/teller)\n[![CodeFactor](https://www.codefactor.io/repository/github/techtonique/teller/badge)](https://www.codefactor.io/repository/github/techtonique/teller)\n[![Documentation](https://img.shields.io/badge/documentation-is_here-green)](https://techtonique.github.io/teller/)\n\n\nThere is an increasing need for __transparency__ and __fairness__ in Machine Learning (ML) models  predictions. Consider for example a banker who has to explain to a client why his/her loan application is rejected, or a healthcare professional who must explain what constitutes his/her diagnosis. Some ML models are indeed very accurate, but are considered to be hard to explain, relatively to popular linear models. \n\n\n__Source of figure__: James, Gareth, et al. An introduction to statistical learning. Vol. 112. New York: springer, 2013.\n![Source: James, Gareth, et al. An introduction to statistical learning. Vol. 112. New York: springer, 2013.](image1.png)\n\nWe do not want to sacrifice this high accuracy to explainability.  Hence: __ML explainability__. There are a lot of ML explainability tools out there, _in the wild_.\n\nThe `teller` is a __model-agnostic tool for ML explainability__. _Agnostic_, as long as the input ML model possesses methods `fit` and `predict`, and is applied to tabular data. The `teller` relies on:\n\n- [Finite differences](https://en.wikipedia.org/wiki/Finite_difference) to explain ML models predictions: a little increase in model's explanatory variables + a little decrease, and we can obtain approximate sensitivities of its predictions to changes in these explanatory variables. \n- [Conformal prediction](https://en.wikipedia.org/wiki/Conformal_prediction) (so far, as of october 2022) to obtain prediction intervals for ML methods\n\n\n## Installation \n\n- From Pypi, stable version:\n\n```bash\npip install the-teller\n```\n\n- From Github, for the development version: \n\n```bash\npip install git+https://github.com/Techtonique/teller.git\n```\n\n\n## Package description\n\nThese notebooks will be some good introductions:\n\n- [Heterogeneity of marginal effects](/teller/demo/thierrymoudiki_011119_boston_housing.ipynb)\n- [Significance of marginal effects](/teller/demo/thierrymoudiki_081119_boston_housing.ipynb)\n- [Model comparison](/teller/demo/thierrymoudiki_151119_boston_housing.ipynb)\n- [Classification](/teller/demo/thierrymoudiki_041219_breast_cancer_classif.ipynb)\n- [Interactions](/teller/demo/thierrymoudiki_041219_boston_housing_interactions.ipynb)\n- [Prediction intervals for regression](/teller/demo/thierrymoudiki_031022_diabetes_pred_interval.ipynb)\n\n\n## Contributing\n\nYour contributions are welcome, and valuable. Please, make sure to __read__ the [Code of Conduct](CONTRIBUTING.md) first. \n\nIf you're not comfortable with Git/Version Control yet, please use [this form](https://forms.gle/Y18xaEHL78Fvci7r8).\n\nIn Pull Requests, let's strive to use [`black`](https://black.readthedocs.io/en/stable/) for formatting: \n\n```bash\npip install black\nblack --line-length=80 file_submitted_for_pr.py\n```\n\n## API Documentation\n\n[https://techtonique.github.io/teller/](https://techtonique.github.io/teller/)\n\n## Dependencies \n\n- Numpy\n- Pandas\n- Scipy\n- scikit-learn\n\n\n## Citation\n\n```\n@misc{moudiki2019teller,\n\tauthor={Moudiki, T.},\n\ttitle={\\code{teller}, {M}odel-agnostic {M}achine {L}earning explainability},\n\thowpublished={\\url{https://github.com/thierrymoudiki/teller}},\n\tnote={BSD 3-Clause Clear License. Version 0.x.x.},\n\tyear={2019--2020}\n\t}\n```\n\n\n## References\n\nFor **sensitivity analysis**: \n\n- Press, W. H., Teukolsky, S. A., Vetterling, W. T., \u0026 Flannery, B. P. (1992). Numerical recipes in C (Vol. 2). Cambridge: Cambridge university press.\n- Jones E, Oliphant E, Peterson P, et al. SciPy: Open Source Scientific Tools for Python, 2001-, http://www.scipy.org/ [Online; accessed 2019-01-04]\n- Scikit-learn: Machine Learning in Python, Pedregosa et al., JMLR 12, pp. 2825-2830, 2011.\n\nFor **prediction intervals**: \n\n- Romano, Y., Patterson, E., \u0026 Candes, E. (2019). Conformalized quantile regression. Advances in neural information processing systems, 32.\n\n## License\n\n[BSD 3-Clause](LICENSE) © Thierry Moudiki, 2019. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTechtonique%2Fteller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTechtonique%2Fteller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTechtonique%2Fteller/lists"}