Skip to main content

PyPi PyPi_status
  </a>
  <!-- License -->
  <a href= mit_license

ixai: Incremental Explainable Artificial Intelligence

This is the first iteration of our incremental explanation package.

Currently, it includes two explanation methods: PFI and SAGE.

Please look at the examples in the examples directory.

Please help us in improving our work by contributing or pointing to issues. We will update this iteration soon with further information.

🛠 Installation

ixai is intended to work with Python 3.8 and above. Installation can be done via pip:

pip install ixai

📊 Quickstart

Basic Classification

>>> from river.metrics import Accuracy
>>> from river.ensemble import AdaptiveRandomForestClassifier
>>> from river.datasets.synth import Agrawal

>>> from ixai.explainer import IncrementalPFI

>>> stream = Agrawal(classification_function=2)
>>> feature_names = list([x_0 for x_0, _ in stream.take(1)][0].keys())

>>> model = AdaptiveRandomForestClassifier(n_models=10, max_depth=10, leaf_prediction='mc')

>>> incremental_pfi = IncrementalPFI(
...     model_function=model.predict_one,
...     loss_function=Accuracy(),
...     feature_names=feature_names,
...     smoothing_alpha=0.001,
...     n_inner_samples=5
... )

>>> training_metric = Accuracy()
>>> for (n, (x, y)) in enumerate(stream, start=1)
...     y_pred = model.predict_one(x)       # inference
...     training_metric.update(y, y_pred)   # update score
...     incremental_pfi.explain_one(x, y)   # explaining
...     model.learn_one(x, y)               # learning
...     if n % 1000 == 0:
...         print(f"{n}: Accuracy: {training_metric.get():.3f}, PFI: {incremental_pfi.importance_values}")

1000: Accuracy: 0.785, PFI: {'age': 0.22, 'elevel': 0.18, 'zipcode': -0.07, 'salary': 0.04, 'commission': 0.05, 'loan': -0.06, 'car': 0.02, 'hyears': 0.03, 'hvalue': 0.03}
2000: Accuracy: 0.841, PFI: {'age': 0.26, 'elevel': 0.21, 'zipcode': -0.01, 'salary': 0.02, 'commission': 0.03, 'loan': -0.02, 'car': 0.02, 'hyears': 0.04, 'hvalue': 0.02}
3000: Accuracy: 0.921, PFI: {'age': 0.28, 'elevel': 0.24, 'zipcode': -0.00, 'salary': 0.00, 'commission': 0.01, 'loan': -0.01, 'car': 0.01, 'hyears': 0.01, 'hvalue': 0.00}

Release files for ixai 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ixai 0.1.3
File Size Uploaded
ixai-0.1.3.tar.gz 30.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ixai 0.1.3
File Interpreter ABI Platform
ixai-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 77.0 kB

Release files / ixai-0.1.3.tar.gz

Download URL ixai-0.1.3.tar.gz
Size 30.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a91b62bb106c66aa01829665189e28dd78242c00102048c3c5c55a58959c3902
BLAKE2b-256 checksum
How to use checksums
13ddd40dc8e088706df2dcfd209caf45919a5969e571cc75e3b3d6adacf53f6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / ixai-0.1.3-py3-none-any.whl

Download URL ixai-0.1.3-py3-none-any.whl
Size 46.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fa9fb4cda178d642ad5929d36a45752cef367150c64128ebf8c43adf9619eed7
BLAKE2b-256 checksum
How to use checksums
477cd44a59ff2c423e25fd797e3ee48cb60926b7dc927c489192ccecaaf2ee88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page