{ "info": { "author": "Seldon Technologies Ltd.", "author_email": "hello@seldon.io", "bugtrack_url": null, "classifiers": [], "description": "

\n \"Alibi\n

\n\n[![Build Status](https://travis-ci.com/SeldonIO/alibi.svg?branch=master)](https://travis-ci.com/SeldonIO/alibi)\n[![Documentation Status](https://readthedocs.org/projects/alibi/badge/?version=latest)](https://docs.seldon.io/projects/alibi/en/latest/?badge=latest)\n![Python version](https://img.shields.io/badge/python-3.5%20%7C%203.6%20%7C%203.7-blue.svg)\n[![PyPI version](https://badge.fury.io/py/alibi.svg)](https://badge.fury.io/py/alibi)\n![GitHub Licence](https://img.shields.io/github/license/seldonio/alibi.svg)\n[![Slack channel](https://img.shields.io/badge/chat-on%20slack-e51670.svg)](http://seldondev.slack.com/messages/alibi)\n---\n[Alibi](https://docs.seldon.io/projects/alibi) is an open source Python library aimed at machine learning model inspection and interpretation. The initial focus on the library is on black-box, instance based model explanations.\n\n* [Documentation](https://docs.seldon.io/projects/alibi)\n\n## Goals\n* Provide high quality reference implementations of black-box ML model explanation algorithms\n* Define a consistent API for interpretable ML methods\n* Support multiple use cases (e.g. tabular, text and image data classification, regression)\n* Implement the latest model explanation, concept drift, algorithmic bias detection and other ML\n model monitoring and interpretation methods\n\n## Installation\nAlibi can be installed from [PyPI](https://pypi.org/project/alibi):\n```bash\npip install alibi\n```\nThis will install `alibi` with all its dependencies:\n```bash\n beautifulsoup4\n numpy\n Pillow\n pandas\n requests\n scikit-learn\n spacy\n scikit-image\n tensorflow\n```\n\nTo run all the example notebooks, you may additionally run `pip install alibi[examples]` which will\ninstall the following:\n```bash\n seaborn\n Keras\n```\n\n## Supported algorithms\n### Black-box model explanaton\n - Anchor explanations ([Ribeiro et al., 2018](https://homes.cs.washington.edu/~marcotcr/aaai18.pdf))\n - [Documentation](https://docs.seldon.io/projects/alibi/en/stable/methods/Anchors.html)\n - Examples:\n [income prediction](https://docs.seldon.io/projects/alibi/en/stable/examples/anchor_tabular_adult.html),\n [Iris dataset](https://docs.seldon.io/projects/alibi/en/stable/examples/anchor_tabular_iris.html),\n [movie sentiment classification](https://docs.seldon.io/projects/alibi/en/stable/examples/anchor_text_movie.html),\n [ImageNet](https://docs.seldon.io/projects/alibi/en/stable/examples/anchor_image_imagenet.html),\n [fashion MNIST](https://docs.seldon.io/projects/alibi/en/stable/examples/anchor_image_fashion_mnist.html)\n\n- Contrastive Explanation Method (CEM, [Dhurandhar et al., 2018](https://papers.nips.cc/paper/7340-explanations-based-on-the-missing-towards-contrastive-explanations-with-pertinent-negatives))\n - [Documentation](https://docs.seldon.io/projects/alibi/en/stable/methods/CEM.html)\n - Examples: [MNIST](https://docs.seldon.io/projects/alibi/en/stable/examples/cem_mnist.html),\n [Iris dataset](https://docs.seldon.io/projects/alibi/en/stable/examples/cem_iris.html)\n\n- Counterfactual Explanations (extension of\n [Wachter et al., 2017](https://arxiv.org/abs/1711.00399))\n - [Documentation](https://docs.seldon.io/projects/alibi/en/stable/methods/CF.html)\n - Examples: \n [MNIST](https://docs.seldon.io/projects/alibi/en/stable/examples/cf_mnist.html)\n\n- Counterfactual Explanations Guided by Prototypes ([Van Looveren et al., 2019](https://arxiv.org/abs/1907.02584))\n - [Documentation](https://docs.seldon.io/projects/alibi/en/stable/methods/CFProto.html)\n - Examples:\n [MNIST](https://docs.seldon.io/projects/alibi/en/stable/examples/cfproto_mnist.html),\n [Boston housing dataset](https://docs.seldon.io/projects/alibi/en/stable/examples/cfproto_housing.html),\n [Adult income (one-hot)](https://docs.seldon.io/projects/alibi/en/stable/examples/cfproto_cat_adult_ohe.html),\n [Adult income (ordinal)](https://docs.seldon.io/projects/alibi/en/stable/examples/cfproto_cat_adult_ord.html)\n\n### Model confidence metrics\n- Trust Scores ([Jiang et al., 2018](https://arxiv.org/abs/1805.11783))\n - [Documentation](https://docs.seldon.io/projects/alibi/en/stable/methods/TrustScores.html)\n - Examples:\n [MNIST](https://docs.seldon.io/projects/alibi/en/stable/examples/trustscore_mnist.html),\n [Iris dataset](https://docs.seldon.io/projects/alibi/en/stable/examples/trustscore_mnist.html)\n- Linearity Measure\n - Examples:\n [Iris dataset](https://docs.seldon.io/projects/alibi/en/stable/examples/linearity_measure_iris.html),\n [fashion MNIST](https://docs.seldon.io/projects/alibi/en/stable/examples/linearity_measure_fashion_mnist.html)\n\n## Example outputs\n\n[**Anchor method applied to the InceptionV3 model trained on ImageNet:**](examples/anchor_image_imagenet.ipynb)\n\nPrediction: Persian Cat | Anchor explanation\n:-------------------------:|:------------------:\n![Persian Cat](doc/source/methods/persiancat.png)| ![Persian Cat Anchor](doc/source/methods/persiancatanchor.png)\n\n[**Contrastive Explanation method applied to a CNN trained on MNIST:**](examples/cem_mnist.ipynb)\n\nPrediction: 4 | Pertinent Negative: 9 | Pertinent Positive: 4\n:-------------------------:|:-------------------:|:------------------:\n![mnist_orig](doc/source/methods/mnist_orig.png) | ![mnsit_pn](doc/source/methods/mnist_pn.png) | ![mnist_pp](doc/source/methods/mnist_pp.png)\n\n[**Trust scores applied to a softmax classifier trained on MNIST:**](examples/trustscore_mnist.ipynb)\n\n![trust_mnist](doc/source/_static/trustscores.png)\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SeldonIO/alibi", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "alibi", "package_url": "https://pypi.org/project/alibi/", "platform": "", "project_url": "https://pypi.org/project/alibi/", "project_urls": { "Homepage": "https://github.com/SeldonIO/alibi" }, "release_url": "https://pypi.org/project/alibi/0.3.2/", "requires_dist": [ "beautifulsoup4", "numpy", "Pillow", "pandas", "requests", "scikit-learn", "spacy", "scikit-image", "tensorflow (<2.0)", "seaborn ; extra == 'examples'", "Keras ; extra == 'examples'", "xgboost ; extra == 'examples'" ], "requires_python": ">3.5.1", "summary": "Algorithms for monitoring and explaining machine learning models", "version": "0.3.2" }, "last_serial": 5990096, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3752201eec1566d87f824b34f519e3e5", "sha256": "550d01a83da4639b5119d303b03cc26f0a07551258cbdaa3e81426984f7a109b" }, "downloads": -1, "filename": "alibi-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3752201eec1566d87f824b34f519e3e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 42472, "upload_time": "2019-05-03T10:56:48", "url": "https://files.pythonhosted.org/packages/22/c7/68e88766e9bd4ad3a36d8c8afddd5b2f36f0f8382035ec5e1d43bb0a1d2c/alibi-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19b007ece0e2240459c8aa844e23c97c", "sha256": "e78a2b15f563d03c0de6b75cad4ee16965504c811dcef780470e02f101f7ef94" }, "downloads": -1, "filename": "alibi-0.1.0.tar.gz", "has_sig": false, "md5_digest": "19b007ece0e2240459c8aa844e23c97c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 32454, "upload_time": "2019-05-03T10:56:50", "url": "https://files.pythonhosted.org/packages/d4/af/0e4a84d74e1c76cf9f0752ea7f802e5e8686e7599f2703bd99cdde78b726/alibi-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "621a0c20c9c89d04f001d0564600bbc5", "sha256": "4eef0aab5dd3e7914e31448e2e8a45c8aa0ff17acf625aa4991fa0375728bc96" }, "downloads": -1, "filename": "alibi-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "621a0c20c9c89d04f001d0564600bbc5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 59792, "upload_time": "2019-05-24T15:00:44", "url": "https://files.pythonhosted.org/packages/1b/89/dc31c2b8ba09eb8f324ce18e991f876378e3c38e1531a82ea35699a8ff61/alibi-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9fa2e3bcd86d946047a668b9fad073d1", "sha256": "3a61be7267baac0c8bdaa92a23ee61d4b3984e7c3ab320ab72513585b7de42ea" }, "downloads": -1, "filename": "alibi-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9fa2e3bcd86d946047a668b9fad073d1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 46926, "upload_time": "2019-05-24T15:00:46", "url": "https://files.pythonhosted.org/packages/fc/a9/03fd280f0f4afa20a39c020edda7ac8945223feee96dc40596e61a3c8a84/alibi-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "df235445563864e530fe870b138426f2", "sha256": "00ceaeacb65bb0b564750edc7591dab2b6ef6fc83be0f6b48a2f311cb2db5340" }, "downloads": -1, "filename": "alibi-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "df235445563864e530fe870b138426f2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.5.1", "size": 60432, "upload_time": "2019-07-02T12:49:50", "url": "https://files.pythonhosted.org/packages/37/01/715cd83b247da711016c1f11419f4fe1a89c45f4dde6b63304f9ef8a2361/alibi-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74a31e363fac475110132e32babd2cbd", "sha256": "e5e3a478ef39caad6b681b22762f6a6ba8bcd391e26af01ce1454666f42c98ec" }, "downloads": -1, "filename": "alibi-0.2.1.tar.gz", "has_sig": false, "md5_digest": "74a31e363fac475110132e32babd2cbd", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.5.1", "size": 48093, "upload_time": "2019-07-02T12:49:52", "url": "https://files.pythonhosted.org/packages/dc/bf/2fbba9f320158aa46bee0a34413c4d15d43f00c2f38dabb789821fc458e3/alibi-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "4d05d997414dc96d79f60ec26dfbdc7d", "sha256": "549fb788fdbe435375e44483542ea03d1e5a9d710a69a39893eecd66d0f33200" }, "downloads": -1, "filename": "alibi-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "4d05d997414dc96d79f60ec26dfbdc7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.5.1", "size": 60453, "upload_time": "2019-07-05T11:28:02", "url": "https://files.pythonhosted.org/packages/b4/f7/a050ab98f9c80b8f79cdd45c8b797a1e9463d3a7311dc4f4afc9e7b5a4fa/alibi-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "919bb40dbb0caea4f1557f5e5b794f89", "sha256": "38cd81c89bc2d4fc9807ceeeda984bdb1345f827d3541b24b246ddfc64a363b1" }, "downloads": -1, "filename": "alibi-0.2.2.tar.gz", "has_sig": false, "md5_digest": "919bb40dbb0caea4f1557f5e5b794f89", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.5.1", "size": 48089, "upload_time": "2019-07-05T11:28:04", "url": "https://files.pythonhosted.org/packages/92/27/595c23716b27bc5247b67fb1795bdd55b84efdcb1c557840d5b786a5c3ee/alibi-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "eebd1b7351671802d43945ee03557613", "sha256": "942e2901ae8fee8c29c54576a0988e3e140962ad6e9ff97532ee77cac1dc62d9" }, "downloads": -1, "filename": "alibi-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "eebd1b7351671802d43945ee03557613", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.5.1", "size": 62354, "upload_time": "2019-07-29T10:42:26", "url": "https://files.pythonhosted.org/packages/a4/9e/0a89bf36b8ed0012d69927df73bd11940c9917e41eb359c29ae3723babd2/alibi-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "91d864613d9e2afae08e08e4687d5bec", "sha256": "8a800a7e715e4d72b42c484b74c4ed18896b1c4c2673ce18f634d883f704da3d" }, "downloads": -1, "filename": "alibi-0.2.3.tar.gz", "has_sig": false, "md5_digest": "91d864613d9e2afae08e08e4687d5bec", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.5.1", "size": 49680, "upload_time": "2019-07-29T10:42:28", "url": "https://files.pythonhosted.org/packages/93/81/2a491ca1f3af829b745b6693838d7e00e7b87a17e17855aaf7c4b5e41a9a/alibi-0.2.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "3ec1ebd9a90e3d1c9ea284cab77c061f", "sha256": "48c3835228e5c94f5145c8d921f8bf1746034715a7aa45e05f045dc1f5c7dc82" }, "downloads": -1, "filename": "alibi-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3ec1ebd9a90e3d1c9ea284cab77c061f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.5.1", "size": 81492, "upload_time": "2019-09-25T09:42:34", "url": "https://files.pythonhosted.org/packages/51/d7/9470af32abc6a8286309607f3ba56d010271bfcb6a0dbd1f0ffaadc42479/alibi-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9a2ffb752604bd29e9cf359ae7a42a94", "sha256": "2a4a6094aaa0c3148d7563902b1776c67fca693210cd2068005e55b6354553e4" }, "downloads": -1, "filename": "alibi-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9a2ffb752604bd29e9cf359ae7a42a94", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.5.1", "size": 66092, "upload_time": "2019-09-25T09:42:36", "url": "https://files.pythonhosted.org/packages/d6/2f/15edd195c5df4d01c2720febf5bb7007b3b4efcad5bcbc6962709eb44f2f/alibi-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "cae9e9fdf40c83620b0e07a07f5d3361", "sha256": "71abf91d71264450541b52a892bd7ff9b6602f909137e1854660f8b9dd377613" }, "downloads": -1, "filename": "alibi-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cae9e9fdf40c83620b0e07a07f5d3361", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.5.1", "size": 81569, "upload_time": "2019-10-01T11:23:07", "url": "https://files.pythonhosted.org/packages/62/16/0840330b20cbc08644cdec96618865b0188b22a3de697caad8526d88630a/alibi-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2540925d3ec5bdfb59602eb04ad2171a", "sha256": "84b8f58d9fa40f17374082f1f2e273ce3414a1a3768cf2edbe18c0dde38f1bc3" }, "downloads": -1, "filename": "alibi-0.3.1.tar.gz", "has_sig": false, "md5_digest": "2540925d3ec5bdfb59602eb04ad2171a", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.5.1", "size": 66245, "upload_time": "2019-10-01T11:23:09", "url": "https://files.pythonhosted.org/packages/68/54/0ee218e16354374275846cc851a1c2dcb44662f57f3b56c58a90b9d4db1e/alibi-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "e5241e2a714e3b6ecf18b42262c9a22d", "sha256": "9202eb81e02e3306a4a796e4282da1bb0a5fd3975c0b3fe368c3e01461728593" }, "downloads": -1, "filename": "alibi-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e5241e2a714e3b6ecf18b42262c9a22d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.5.1", "size": 81947, "upload_time": "2019-10-17T14:27:26", "url": "https://files.pythonhosted.org/packages/00/e7/54214fcf84a65339d6c993121da52edea52b56d39e6ec87ad30c755d665a/alibi-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "042f25ff019c401e91a2986a49051ceb", "sha256": "711b7a6eae27c80309d0968b11990e83b3e7063da919b1d76cf29eb40a61c618" }, "downloads": -1, "filename": "alibi-0.3.2.tar.gz", "has_sig": false, "md5_digest": "042f25ff019c401e91a2986a49051ceb", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.5.1", "size": 66556, "upload_time": "2019-10-17T14:27:28", "url": "https://files.pythonhosted.org/packages/2e/55/088f73334c16e9c15ffedd1ebdeef8299e6e203a999d8f5f4fc6a8b48474/alibi-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e5241e2a714e3b6ecf18b42262c9a22d", "sha256": "9202eb81e02e3306a4a796e4282da1bb0a5fd3975c0b3fe368c3e01461728593" }, "downloads": -1, "filename": "alibi-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e5241e2a714e3b6ecf18b42262c9a22d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.5.1", "size": 81947, "upload_time": "2019-10-17T14:27:26", "url": "https://files.pythonhosted.org/packages/00/e7/54214fcf84a65339d6c993121da52edea52b56d39e6ec87ad30c755d665a/alibi-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "042f25ff019c401e91a2986a49051ceb", "sha256": "711b7a6eae27c80309d0968b11990e83b3e7063da919b1d76cf29eb40a61c618" }, "downloads": -1, "filename": "alibi-0.3.2.tar.gz", "has_sig": false, "md5_digest": "042f25ff019c401e91a2986a49051ceb", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.5.1", "size": 66556, "upload_time": "2019-10-17T14:27:28", "url": "https://files.pythonhosted.org/packages/2e/55/088f73334c16e9c15ffedd1ebdeef8299e6e203a999d8f5f4fc6a8b48474/alibi-0.3.2.tar.gz" } ] }