{ "info": { "author": "Nikolay Novik", "author_email": "nickolainovik@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "ibreakdown\n==========\n.. image:: https://travis-ci.com/jettify/ibreakdown.svg?branch=master\n :target: https://travis-ci.com/jettify/ibreakdown\n.. image:: https://codecov.io/gh/jettify/ibreakdown/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/jettify/ibreakdown\n.. image:: https://img.shields.io/pypi/pyversions/ibreakdown.svg\n :target: https://pypi.org/project/ibreakdown\n.. image:: https://img.shields.io/pypi/v/ibreakdown.svg\n :target: https://pypi.python.org/pypi/ibreakdown\n\n\n**ibreakdown** is model agnostic predictions explainer with interactions support,\nlibrary can show contribution of each feature in your prediction value.\n\n**SHAP** or **LIME** consider only local additive feature attributions, when\n**ibreakdown** also evaluates local feature interactions.\n\nAlgorithm\n=========\n\nAlgorithm is based on ideas describe in paper *\"iBreakDown: Uncertainty of Model\nExplanations for Non-additive Predictive Models\"* https://arxiv.org/abs/1903.11420 and\nreference implementation in **R** (iBreakDown_)\n\nIntuition behind algorithm is following:\n\n ::\n\n The algorithm works in a similar spirit as SHAP or Break Down but is not\n restricted to additive effects. The intuition is the following:\n\n 1. Calculate a single-step additive contribution for each feature.\n 2. Calculate a single-step contribution for every pair of features. Subtract additive contribution to assess the interaction specific contribution.\n 3. Order interaction effects and additive effects in a list that is used to determine sequential contributions.\n\n This simple intuition may be generalized into higher order interactions.\n\nIn depth explanation can be found in algorithm authors free book:\n*Predictive Models: Explore, Explain, and Debug* https://pbiecek.github.io/PM_VEE/iBreakDown.html\n\n\nSimple example\n--------------\n\n.. code:: python\n\n # model = RandomForestClassifier(...)\n explainer = ClassificationExplainer(model)\n classes = ['Deceased', 'Survived']\n explainer.fit(X_train, columns, classes)\n exp = explainer.explain(observation)\n exp.print()\n\nPlease check full Titanic example here: https://github.com/jettify/ibreakdown/blob/master/examples/titanic.py\n\n.. code::\n\n +------------------------------------+-----------------+--------------------+--------------------+\n | Feature Name | Feature Value | Contrib:Deceased | Contrib:Survived |\n +------------------------------------+-----------------+--------------------+--------------------|\n | intercept | | 0.613286 | 0.386714 |\n | Sex | female | -0.305838 | 0.305838 |\n | Pclass | 3 | 0.242448 | -0.242448 |\n | Fare | 7.7375 | -0.119392 | 0.119392 |\n | Siblings/Spouses Aboard | 0 | -0.0372811 | 0.0372811 |\n | ('Age', 'Parents/Children Aboard') | [28.0 0] | 0.0122196 | -0.0122196 |\n | PREDICTION | | 0.405443 | 0.594557 |\n +------------------------------------+-----------------+--------------------+--------------------+\n\n\n\nFeatures\n========\n* Supports predictions explanations for classification and regression\n* Easy to use API.\n* Works with ``pandas`` and ``numpy``\n* Support interactions between features\n\n\nInstallation\n------------\nInstallation process is simple, just::\n\n $ pip install ibreakdown\n\n\nRequirements\n------------\n\n* Python_ 3.6+\n* numpy_\n\n.. _Python: https://www.python.org\n.. _numpy: http://www.numpy.org/\n.. _iBreakDown: https://github.com/ModelOriented/iBreakDown\n.. _Shapley: https://en.wikipedia.org/wiki/Shapley_value\n\nCHANGES\n=======", "description_content_type": "", "docs_url": null, "download_url": "https://pypi.python.org/pypi/ibreakdown", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jettify/ibreakdown", "keywords": "ibreakdown", "license": "Apache 2", "maintainer": "", "maintainer_email": "", "name": "ibreakdown", "package_url": "https://pypi.org/project/ibreakdown/", "platform": "POSIX", "project_url": "https://pypi.org/project/ibreakdown/", "project_urls": { "Download": "https://pypi.python.org/pypi/ibreakdown", "Homepage": "https://github.com/jettify/ibreakdown" }, "release_url": "https://pypi.org/project/ibreakdown/0.0.1a4/", "requires_dist": null, "requires_python": "", "summary": "ibreakdown - model agnostic explanations with interactions", "version": "0.0.1a4", "yanked": false, "yanked_reason": null }, "last_serial": 6038822, "releases": { "0.0.1a2": [ { "comment_text": "", "digests": { "md5": "8cbea48855fe1e837254fa3d3ca90801", "sha256": "11a8fc74c4c479dc4891dc82b546eaef4199e8c957f858c3a6f9114d6f4ddd79" }, "downloads": -1, "filename": "ibreakdown-0.0.1a2.tar.gz", "has_sig": false, "md5_digest": "8cbea48855fe1e837254fa3d3ca90801", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7540, "upload_time": "2019-10-26T20:59:33", "upload_time_iso_8601": "2019-10-26T20:59:33.281728Z", "url": "https://files.pythonhosted.org/packages/d6/bb/ea7ff3ff604e72c16dc53c061a2933b943dd6b487689c343563fb7588d36/ibreakdown-0.0.1a2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.1a3": [ { "comment_text": "", "digests": { "md5": "88fa70197b480a54f8e4bbccc3e926c2", "sha256": "d28e292c3e14a96a27288b2de4a60411d5e5e6a09468d36549009846477f88f3" }, "downloads": -1, "filename": "ibreakdown-0.0.1a3.tar.gz", "has_sig": false, "md5_digest": "88fa70197b480a54f8e4bbccc3e926c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8666, "upload_time": "2019-10-27T22:12:35", "upload_time_iso_8601": "2019-10-27T22:12:35.463424Z", "url": "https://files.pythonhosted.org/packages/c2/33/1ebe296746a37d9d4072573c40cb7e1589e31d129a2614456421dab89063/ibreakdown-0.0.1a3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.1a4": [ { "comment_text": "", "digests": { "md5": "4c1c6af8f21bc9a484939edc2c97f7b2", "sha256": "fd3cccd6ade5be548a6f6830c41a08208302461491df05941b444ad2b71b1c88" }, "downloads": -1, "filename": "ibreakdown-0.0.1a4.tar.gz", "has_sig": false, "md5_digest": "4c1c6af8f21bc9a484939edc2c97f7b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9231, "upload_time": "2019-10-28T00:35:06", "upload_time_iso_8601": "2019-10-28T00:35:06.637150Z", "url": "https://files.pythonhosted.org/packages/08/39/6a6cf178790750dc2dd099969de0fed5119e86344b8f04f72109303b7215/ibreakdown-0.0.1a4.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4c1c6af8f21bc9a484939edc2c97f7b2", "sha256": "fd3cccd6ade5be548a6f6830c41a08208302461491df05941b444ad2b71b1c88" }, "downloads": -1, "filename": "ibreakdown-0.0.1a4.tar.gz", "has_sig": false, "md5_digest": "4c1c6af8f21bc9a484939edc2c97f7b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9231, "upload_time": "2019-10-28T00:35:06", "upload_time_iso_8601": "2019-10-28T00:35:06.637150Z", "url": "https://files.pythonhosted.org/packages/08/39/6a6cf178790750dc2dd099969de0fed5119e86344b8f04f72109303b7215/ibreakdown-0.0.1a4.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }