Skip to content

Latest commit

 

History

History
199 lines (167 loc) · 15.3 KB

CHANGELOG.md

File metadata and controls

199 lines (167 loc) · 15.3 KB

Change Log

v0.5.0 (2020-06-10)

Full Changelog

This version supports Python 3.6 and 3.7 as support for Python 3.5 is dropped.

Added

  • New feature TreeSHAP explainer for white-box, tree based model SHAP value computation
  • New feature ALE explainer for computing feature effects for black-box, tabular data models
  • New feature IntegratedGradients explainer for computing feature attributions for TensorFlow and Keras models
  • Experimental utils.visualization module currently containing visualization functions for IntegratedGradients on image datasets.The location, implementation and content of the module and functions therein are subject to change.
  • Extend datasets.fetch_imagenet to work with any class
  • Extend utils.data.gen_category_map to take a list of strings of column names

Changed

  • Internal refactoring of KernelSHAP to reuse functionality for TreeSHAP. Both SHAP wrappers are now under explainers.shap_wrappers
  • Tests are now split into two runs, one with TensorFlow in eager mode which is necessary for using IntegratedGradients
  • Added typing-extensions library as a requirement to take advantage of more precise types
  • Pinned scikit-image<0.17 due to a regression upstream
  • Pinned Sphinx<3.0 for documentation builds due to some issues with the m2r plugin

Fixed

  • Various improvements to documentation
  • Some tests were importing old keras functions instead of tensorflow.keras

v0.4.0 (2020-03-20)

Full Changelog

NB: This is the last version supporting Python 3.5.

Added

  • New feature KernelSHAP explainer for black-box model SHAP scores
  • Documentation for the LinearityMeasure algorithm

Changed

  • Breaking change New API for explainer and explanation objects. Explainer objects now inherit from Explainer base class as a minimum. When calling .explain method, an Explanation object is returned (previously a dictionary). This contains two dictionaries meta and data accessed as attributes of the object, detailing the metadata and the data of the returned explanation. The common interfaces are under api.interfaces and default return metadata and data for each explainer are under api.defaults.
  • Complete refactoring of the Anchors algorithms, many code improvements
  • Explainer tests are now more modular, utilizing scoped fixtures defined in explainers.tests.conftest and various utility functions
  • Tests are now run sequentially insted of in parallel due to overhead of launching new processes

v0.3.2 (2019-10-17)

Full Changelog

Added

  • All explanations return a metadata field meta with a name subfield which is currently the name of the class

Changed

  • Provide URL options for fetching some datasets, by default now fetches from a public Seldon bucket

v0.3.1 (2019-10-01)

Full Changelog

Fixed

  • Pin tensorflow dependency to versions 1.x as the new 2.0 release introduces breaking changes

v0.3.0 (2019-09-25)

Full Changelog

Added

  • New feature LinearityMeasure class and linearity_measure function for measuring the linearity of a classifier/regressor
  • New feature CounterFactualProto now supports categorical variables for tabular data

Changed

  • Breaking change Remove need for the user to manage TensorFlow sessions for the explanation methods that use TF internally (CEM, CounterFactual, CounterFactualProto). The session is now inferred or created depending on what is passed to predict. For finer control the sess parameter can still be passed in directly
  • Breaking change Expose low-level arguments to AnchorText to the user for finer control of the explanation algorithm, also rename some arguments for consistency
  • Various improvements to existing notebook examples

Fixed

  • CounterFactualProto and CEM bug when the class is initialized a second time it wouldn't run as the TF graph would become disconnected
  • Provide more useful error messages if external data APIs are down
  • Skip tests using external data APIs if they are down

v0.2.3 (2019-07-29)

Full Changelog

Added

  • gen_category_map utility function to facilitate using AnchorTabular explainer
  • Extend CounterFactualProto with a more flexible choice for prototypes using k closest encoded instances
  • Allow user to specify a hard target class for CounterFactualProto
  • Distributed tests usign pytest-xdist to overcome TF global session interfering with tests running in the same process

Changed

  • Sample datasets now return a Bunch object by default, bundling all necessary and optional attributes for each dataset
  • Loading sample datasets are now invoked via the fetch_ functions to indicate that a network download is being made

Fixed

  • Remove Home from docs sidebar as this was causing the sidebar logo to not show up on landing page

v0.2.2 (2019-07-05)

Full Changelog

Added

  • codecov support to CI

Fixed

  • Remove lexemes without word vectors in spacy models for AnchorTabular. This suppresses spacy warnings and also make the method (and tests) run a lot faster.

v0.2.1 (2019-07-02)

Full Changelog

Changed

  • Remove Keras and seaborn from install requirements and create optional [examples] extras_require
  • Remove python-opencv dependency in favour of PIL
  • Improve type checking with unimported modules - now requires python>3.5.1
  • Add some tests for alibi.datasets

v0.2.0 (2019-05-24)

Full Changelog

New features:

Implemented enhancements:

  • Return nearest not predicted class for trust scores #63
  • Migrate Keras dependency to tf.keras #51
  • Add warning when no anchor is found #30
  • add anchor warning #74 (arnaudvl)
  • Return closest not predicted class for trust scores #67 (arnaudvl)

Closed issues:

  • Build docs on Travis #70
  • High level documentation for 0.1 #37
  • Counterfactual explainers #12

Merged pull requests:

v0.1.0 (2019-05-03)

Closed issues:

  • Migrate CI to Travis post release #46
  • Trust scores #39
  • Make explicit Python>=3.5 requirement before release #18
  • Remove dependency on LIME #17
  • Set up CI #5
  • Set up docs #4

Merged pull requests:

* This Change Log was automatically generated by github_changelog_generator