Alibi ist eine Python-Bibliothek, die auf die Inspektion und Interpretation von Modellen für maschinelles Lernen abzielt. Der Schwerpunkt der Bibliothek liegt auf der Bereitstellung hochwertiger Implementierungen von Black-Box-, White-Box-, lokalen und globalen Erklärungsmethoden für Klassifizierungs- und Regressionsmodelle.
Wenn Sie sich für die Erkennung von Ausreißern, Konzeptabweichungen oder die Erkennung gegnerischer Instanzen interessieren, schauen Sie sich unser Schwesterprojekt alibi-detect an.
Ankererklärungen für Bilder | Integrierte Farbverläufe für Text |
Kontrafaktische Beispiele | Kumulierte lokale Effekte |
Alibi kann installiert werden von:
pip
)conda
/ mamba
)Alibi kann von PyPI installiert werden:
pip install alibi
Alternativ kann die Entwicklungsversion installiert werden:
pip install git+https://github.com/SeldonIO/alibi.git
Um die Vorteile der verteilten Berechnung von Erklärungen zu nutzen, installieren Sie alibi
mit ray
:
pip install alibi[ray]
Für SHAP-Unterstützung installieren Sie alibi
wie folgt:
pip install alibi[shap]
Für die Installation von Conda-Forge wird die Verwendung von Mamba empfohlen, das in der Basis -Conda-Umgebung installiert werden kann mit:
conda install mamba -n base -c conda-forge
Für die Standard-Alibi-Installation:
mamba install -c conda-forge alibi
Für verteilte Computerunterstützung:
mamba install -c conda-forge alibi ray
Für SHAP-Unterstützung:
mamba install -c conda-forge alibi shap
Die Alibi-Erklärungs-API ist von scikit-learn
inspiriert und besteht aus verschiedenen Initialisierungs-, Anpassungs- und Erklärungsschritten. Wir werden den AnchorTabular-Erklärer verwenden, um die API zu veranschaulichen:
from alibi . explainers import AnchorTabular
# initialize and fit explainer by passing a prediction function and any other required arguments
explainer = AnchorTabular ( predict_fn , feature_names = feature_names , category_map = category_map )
explainer . fit ( X_train )
# explain an instance
explanation = explainer . explain ( x )
Die zurückgegebene Erklärung ist ein Explanation
Objekt mit den Attributen meta
und data
. meta
ist ein Wörterbuch, das die Metadaten des Erklärers und alle Hyperparameter enthält, und data
ist ein Wörterbuch, das alles enthält, was mit der berechneten Erklärung zusammenhängt. Beispielsweise kann für den Anchor-Algorithmus auf die Erklärung über explanation.data['anchor']
(oder explanation.anchor
) zugegriffen werden. Die genauen Details der verfügbaren Felder variieren von Methode zu Methode, daher empfehlen wir dem Leser, sich mit den unterstützten Methodentypen vertraut zu machen.
Die folgenden Tabellen fassen die möglichen Anwendungsfälle für jede Methode zusammen.
Verfahren | Modelle | Erläuterungen | Einstufung | Rückschritt | Tabellarisch | Text | Bilder | Kategoriale Merkmale | Zugset erforderlich | Verteilt |
---|---|---|---|---|---|---|---|---|---|---|
ALE | BB | global | ✔ | ✔ | ✔ | |||||
Teilweise Abhängigkeit | BB WB | global | ✔ | ✔ | ✔ | ✔ | ||||
PD-Varianz | BB WB | global | ✔ | ✔ | ✔ | ✔ | ||||
Bedeutung der Permutation | BB | global | ✔ | ✔ | ✔ | ✔ | ||||
Anker | BB | lokal | ✔ | ✔ | ✔ | ✔ | ✔ | Für tabellarisch | ||
CEM | BB* TF/Keras | lokal | ✔ | ✔ | ✔ | Optional | ||||
Kontrafaktische | BB* TF/Keras | lokal | ✔ | ✔ | ✔ | NEIN | ||||
Prototypische Kontrafakten | BB* TF/Keras | lokal | ✔ | ✔ | ✔ | ✔ | Optional | |||
Kontrafaktuale mit RL | BB | lokal | ✔ | ✔ | ✔ | ✔ | ✔ | |||
Integrierte Farbverläufe | TF/Keras | lokal | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | Optional | |
Kernel-SHAP | BB | lokal global | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Baumform | WB | lokal global | ✔ | ✔ | ✔ | ✔ | Optional | |||
Ähnlichkeitserklärungen | WB | lokal | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Diese Algorithmen liefern instanzspezifische Bewertungen, die die Modellkonfidenz für die Erstellung einer bestimmten Vorhersage messen.
Verfahren | Modelle | Einstufung | Rückschritt | Tabellarisch | Text | Bilder | Kategoriale Merkmale | Zugset erforderlich |
---|---|---|---|---|---|---|---|---|
Vertrauenswerte | BB | ✔ | ✔ | ✔(1) | ✔(2) | Ja | ||
Linearitätsmaß | BB | ✔ | ✔ | ✔ | ✔ | Optional |
Schlüssel:
Diese Algorithmen bieten eine destillierte Ansicht des Datensatzes und helfen bei der Erstellung eines interpretierbaren 1-KNN-Klassifikators.
Verfahren | Einstufung | Rückschritt | Tabellarisch | Text | Bilder | Kategoriale Merkmale | Zugset-Etiketten |
---|---|---|---|---|---|---|---|
ProtoSelect | ✔ | ✔ | ✔ | ✔ | ✔ | Optional |
Kumulierte lokale Effekte (ALE, Apley und Zhu, 2016)
Partielle Abhängigkeit (JH Friedman, 2001)
Partielle Abhängigkeitsvarianz (Greenwell et al., 2018)
Bedeutung der Permutation (Breiman, 2001; Fisher et al., 2018)
Ankererklärungen (Ribeiro et al., 2018)
Kontrastive Erklärungsmethode (CEM, Dhurandhar et al., 2018)
Kontrafaktische Erklärungen (Erweiterung von Wachter et al., 2017)
Kontrafaktische Erklärungen anhand von Prototypen (Van Looveren und Klaise, 2019)
Modellagnostische kontrafaktische Erklärungen mittels RL (Samoilescu et al., 2021)
Integrierte Gradienten (Sundararajan et al., 2017)
Erläuterungen zum Kernel-Shapley-Additiv (Lundberg et al., 2017)
Tree Shapley Additive Erklärungen (Lundberg et al., 2020)
Vertrauenswerte (Jiang et al., 2018)
Linearitätsmaß
ProtoSelect
Ähnlichkeitserklärungen
Wenn Sie bei Ihrer Recherche ein Alibi verwenden, denken Sie bitte darüber nach, dieses zu zitieren.
BibTeX-Eintrag:
@article{JMLR:v22:21-0017,
author = {Janis Klaise and Arnaud Van Looveren and Giovanni Vacanti and Alexandru Coca},
title = {Alibi Explain: Algorithms for Explaining Machine Learning Models},
journal = {Journal of Machine Learning Research},
year = {2021},
volume = {22},
number = {181},
pages = {1-7},
url = {http://jmlr.org/papers/v22/21-0017.html}
}