teller | Star

PyPI PyPI - License Downloads Last Commit

Welcome to the teller's website.

There 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.

Source of figure: James, Gareth, et al. An introduction to statistical learning. Vol. 112. New York: springer, 2013. Source: James, Gareth, et al. An introduction to statistical learning. Vol. 112. New York: springer, 2013.

We 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.

The 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:

  • Finite differences 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.
  • Conformal prediction (so far, as of october 2022) to obtain prediction intervals for ML regression methods

The teller's source code is available on GitHub, and you can read posts about it in this blog.

Looking for a specific function? You can also use the search function available in the navigation bar.

Installing

  • From Pypi, stable version:
pip install the-teller
  • From Github, for the development version:
pip install git+https://github.com/Techtonique/teller.git

Quickstart

Documentation

References

For sensitivity analysis:

  • Press, W. H., Teukolsky, S. A., Vetterling, W. T., & Flannery, B. P. (1992). Numerical recipes in C (Vol. 2). Cambridge: Cambridge university press.
  • 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]
  • Scikit-learn: Machine Learning in Python, Pedregosa et al., JMLR 12, pp. 2825-2830, 2011.

For prediction intervals:

  • Romano, Y., Patterson, E., & Candes, E. (2019). Conformalized quantile regression. Advances in neural information processing systems, 32.

Contributing

Want to contribute to teller's development on Github, read this!