Alibi adalah perpustakaan Python yang ditujukan untuk inspeksi dan interpretasi model pembelajaran mesin. Fokus perpustakaan ini adalah untuk menyediakan implementasi metode penjelasan black-box, white-box, lokal dan global berkualitas tinggi untuk model klasifikasi dan regresi.
Jika Anda tertarik dengan deteksi outlier, penyimpangan konsep, atau deteksi instance permusuhan, lihat deteksi alibi proyek saudara kami.
Penjelasan jangkar untuk gambar | Gradien Terintegrasi untuk teks |
Contoh kontrafaktual | Akumulasi Efek Lokal |
Alibi dapat dipasang dari:
pip
)conda
/ mamba
)Alibi dapat diinstal dari PyPI:
pip install alibi
Alternatifnya, versi pengembangan dapat diinstal:
pip install git+https://github.com/SeldonIO/alibi.git
Untuk memanfaatkan perhitungan penjelasan yang terdistribusi, instal alibi
dengan ray
:
pip install alibi[ray]
Untuk dukungan SHAP, instal alibi
sebagai berikut:
pip install alibi[shap]
Untuk menginstal dari conda-forge disarankan untuk menggunakan mamba, yang dapat diinstal ke lingkungan dasar conda dengan:
conda install mamba -n base -c conda-forge
Untuk instalasi Alibi standar:
mamba install -c conda-forge alibi
Untuk dukungan komputasi terdistribusi:
mamba install -c conda-forge alibi ray
Untuk dukungan SHAP:
mamba install -c conda-forge alibi shap
API penjelasan alibi mengambil inspirasi dari scikit-learn
, yang terdiri dari langkah-langkah inisialisasi, penyesuaian, dan penjelasan yang berbeda. Kami akan menggunakan penjelasan AnchorTabular untuk mengilustrasikan API:
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 )
Penjelasan yang dikembalikan adalah objek Explanation
dengan atribut meta
dan data
. meta
adalah kamus yang berisi metadata penjelasan dan semua hyperparameter serta data
adalah kamus yang berisi segala sesuatu yang berhubungan dengan penjelasan yang dihitung. Misalnya untuk algoritma Anchor penjelasannya dapat diakses melalui explanation.data['anchor']
(atau explanation.anchor
). Detail pasti dari bidang yang tersedia bervariasi dari satu metode ke metode lainnya, jadi kami mendorong pembaca untuk memahami jenis metode yang didukung.
Tabel berikut merangkum kemungkinan kasus penggunaan untuk setiap metode.
Metode | Model | Penjelasan | Klasifikasi | Regresi | Datar | Teks | Gambar | Fitur kategoris | Set kereta diperlukan | Didistribusikan |
---|---|---|---|---|---|---|---|---|---|---|
ALE | BB | global | ✔ | ✔ | ✔ | |||||
Ketergantungan Parsial | BB WB | global | ✔ | ✔ | ✔ | ✔ | ||||
Varians PD | BB WB | global | ✔ | ✔ | ✔ | ✔ | ||||
Pentingnya Permutasi | BB | global | ✔ | ✔ | ✔ | ✔ | ||||
Jangkar | BB | lokal | ✔ | ✔ | ✔ | ✔ | ✔ | Untuk Tabel | ||
CEM | BB* TF/Keras | lokal | ✔ | ✔ | ✔ | Opsional | ||||
Kontrafaktual | BB* TF/Keras | lokal | ✔ | ✔ | ✔ | TIDAK | ||||
Kontrafaktual Prototipe | BB* TF/Keras | lokal | ✔ | ✔ | ✔ | ✔ | Opsional | |||
Kontrafaktual dengan RL | BB | lokal | ✔ | ✔ | ✔ | ✔ | ✔ | |||
Gradien Terintegrasi | TF/Keras | lokal | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | Opsional | |
BENTUK Kernel | BB | lokal global | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
BENTUK Pohon | Bank Dunia | lokal global | ✔ | ✔ | ✔ | ✔ | Opsional | |||
Penjelasan kesamaan | Bank Dunia | lokal | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Algoritme ini memberikan skor spesifik instans yang mengukur keyakinan model untuk membuat prediksi tertentu.
Metode | Model | Klasifikasi | Regresi | Datar | Teks | Gambar | Fitur Kategoris | Set kereta diperlukan |
---|---|---|---|---|---|---|---|---|
Skor Kepercayaan | BB | ✔ | ✔ | ✔(1) | ✔(2) | Ya | ||
Ukuran Linearitas | BB | ✔ | ✔ | ✔ | ✔ | Opsional |
Kunci:
Algoritme ini memberikan gambaran menyeluruh tentang kumpulan data dan membantu membuat pengklasifikasi 1-KNN yang dapat diinterpretasikan .
Metode | Klasifikasi | Regresi | Datar | Teks | Gambar | Fitur Kategoris | Label set kereta |
---|---|---|---|---|---|---|---|
ProtoPilih | ✔ | ✔ | ✔ | ✔ | ✔ | Opsional |
Akumulasi Efek Lokal (ALE, Apley dan Zhu, 2016)
Ketergantungan Parsial (JH Friedman, 2001)
Varians Ketergantungan Parsial (Greenwell dkk., 2018)
Pentingnya Permutasi (Breiman, 2001; Fisher et al., 2018)
Penjelasan jangkar (Ribeiro dkk., 2018)
Metode Penjelasan Kontrastif (CEM, Dhurandhar et al., 2018)
Penjelasan Kontrafaktual (ekstensi Wachter et al., 2017)
Penjelasan Kontrafaktual Dipandu oleh Prototipe (Van Looveren dan Klaise, 2019)
Penjelasan Kontrafaktual Model-agnostik melalui RL (Samoilescu et al., 2021)
Gradien Terintegrasi (Sundarajan dkk., 2017)
Penjelasan Aditif Kernel Shapley (Lundberg et al., 2017)
Penjelasan Aditif Tree Shapley (Lundberg et al., 2020)
Skor Kepercayaan (Jiang et al., 2018)
Ukuran Linearitas
ProtoPilih
Penjelasan kesamaan
Jika Anda menggunakan alibi dalam penelitian Anda, mohon pertimbangkan untuk mengutipnya.
Entri BibTeX:
@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}
}