Implementation and Extensions of Anchors: High-Precision Model-Agnostic Explanations. The re-implementation was done in the iML lecture (WS21/22).
- Implementation of Anchors via the Bottom-up construction approach.
- Implementation of Beam Search on top of the Bottom-up construction.
- Simple interfaces with well-splitted main functions.
- Analysis on how 𝐵, 𝛿 and 𝜖 influence the results.
- SMAC3 as alternative anchor finder.
- Paper Reference: https://homes.cs.washington.edu/~marcotcr/aaai18.pdf
- Code Reference: https://github.com/marcotcr/anchor
Note: swig is needed to install SMAC3. See installation instructions.
Create a conda environment
$ conda create -n GingerAnchors python=3.9
$ conda activate GingerAnchors
$ pip install ginger-anchors
You can get an explanation by setting up an Explainer and calling one of three search functions.
exp = Explainer(X_df)
anchor = exp.explain_bottom_up(instance, model, tau=0.95)
print(anchor.get_explanation())
For a more detailed example, see src/main.py.
The plots were too large to put them into this repository. Please download them from seafile. To reproduce the raw data, run:
ginger-anchors> python src/analysis.py
A preview can be found in our writeup: analysis.md