v0.5.0 (2020-06-10)
This version supports Python 3.6 and 3.7 as support for Python 3.5 is dropped.
- 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 forIntegratedGradients
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
- Internal refactoring of
KernelSHAP
to reuse functionality forTreeSHAP
. Both SHAP wrappers are now underexplainers.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 them2r
plugin
- Various improvements to documentation
- Some tests were importing old
keras
functions instead oftensorflow.keras
v0.4.0 (2020-03-20)
NB: This is the last version supporting Python 3.5.
- New feature
KernelSHAP
explainer for black-box model SHAP scores - Documentation for the
LinearityMeasure
algorithm
- Breaking change New API for explainer and explanation objects. Explainer objects now inherit from
Explainer
base class as a minimum. When calling.explain
method, anExplanation
object is returned (previously a dictionary). This contains two dictionariesmeta
anddata
accessed as attributes of the object, detailing the metadata and the data of the returned explanation. The common interfaces are underapi.interfaces
and default return metadata and data for each explainer are underapi.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)
- All explanations return a metadata field
meta
with aname
subfield which is currently the name of the class
- Provide URL options for fetching some datasets, by default now fetches from a public Seldon bucket
v0.3.1 (2019-10-01)
- Pin
tensorflow
dependency to versions 1.x as the new 2.0 release introduces breaking changes
v0.3.0 (2019-09-25)
- New feature
LinearityMeasure
class andlinearity_measure
function for measuring the linearity of a classifier/regressor - New feature
CounterFactualProto
now supports categorical variables for tabular data
- 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 topredict
. For finer control thesess
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
CounterFactualProto
andCEM
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)
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
- 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
- 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)
codecov
support to CI
- Remove lexemes without word vectors in
spacy
models forAnchorTabular
. This suppressesspacy
warnings and also make the method (and tests) run a lot faster.
v0.2.1 (2019-07-02)
- Remove
Keras
andseaborn
from install requirements and create optional[examples]
extras_require
- Remove
python-opencv
dependency in favour ofPIL
- Improve type checking with unimported modules - now requires
python>3.5.1
- Add some tests for
alibi.datasets
v0.2.0 (2019-05-24)
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:
Merged pull requests:
- Update example #100 (jklaise)
- Revert "Don't mock keras for docs" #99 (jklaise)
- Don't mock keras for docs #98 (jklaise)
- Cf #97 (jklaise)
- Cf #96 (jklaise)
- Cf #95 (jklaise)
- Cf #94 (jklaise)
- Cf #92 (jklaise)
- Cf #90 (jklaise)
- Cf #88 (jklaise)
- Add return type for counterfactuals #87 (jklaise)
- prototypical counterfactuals #86 (arnaudvl)
- Remove unnecessary method, rename loss minimization #85 (jklaise)
- Cf #84 (jklaise)
- Fix linting and remove old statsmodels tests #82 (jklaise)
- Some style and test fixes #81 (jklaise)
- Influence functions current work #79 (jklaise)
- WIP: Counterfactual instances #78 (jklaise)
- Counterfactual work so far #77 (jklaise)
- Add additional Python versions to CI #73 (jklaise)
- Add building docs and the Python package in CI #72 (jklaise)
- Bump master version to 0.1.1dev #68 (jklaise)
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:
- Update theme_overrides.css #66 (ahousley)
- Add logo and trustscore example #65 (jklaise)
- Readme #64 (jklaise)
- Trustscore MNIST example #62 (arnaudvl)
- Fix broken links to methods notebooks #61 (jklaise)
- Initial Travis integration #60 (jklaise)
- Add tensorflow to doc generation for type information #59 (jklaise)
- Add numpy as a dependency to doc building for type information #58 (jklaise)
- Autodoc mocking imports #57 (jklaise)
- Avoid importing library for version #56 (jklaise)
- Add full requirement file for documentation builds #55 (jklaise)
- Focus linting and type checking on the actual library #54 (jklaise)
- Trust score high level docs and exposing confidence in alibi #53 (jklaise)
- fix bug getting imagenet data #52 (arnaudvl)
- WIP: Flatten explainer hierarchy #50 (jklaise)
- Add missing version file #48 (jklaise)
- Fix package version from failing install #47 (jklaise)
- trust scores #44 (arnaudvl)
- WIP: High level docs #43 (jklaise)
- WIP: CEM and Anchor docs #40 (arnaudvl)
- WIP: CEM #36 (arnaudvl)
- Counterfactuals #34 (gipster)
- Refactoring counterfactuals to split work #32 (jklaise)
- Counterfactuals #31 (gipster)
- Clean up #29 (jklaise)
- Make minimum requirements versions for testing and CI #27 (jklaise)
- Add Python >= 3.5 requirement #26 (jklaise)
- Change CI test commands to use correct dependencies #21 (jklaise)
- add anchor image #20 (arnaudvl)
- Anchor text #15 (arnaudvl)
- Add support for rendering notebooks using nbsphinx and nbsphinx-link #14 (jklaise)
- WIP: Sphinx configuration #11 (jklaise)
- Ignore missing mypy imports globally for now #10 (jklaise)
- Add mypy to CI and create code style guidelines #9 (jklaise)
- Flake8 setup #8 (jklaise)
- Initial CI & docs setup #6 (jklaise)
- Anchor #3 (arnaudvl)
- Create initial package skeleton #2 (jklaise)
- Add licence #1 (jklaise)
* This Change Log was automatically generated by github_changelog_generator