Skip to main content



Introducing XAISuite Version 2.0: Comparing Machine Learning Explainers

Welcome to our source page. Our mission is to make machine learning explanation easy and available to all! Whether you are a data scientist, researcher, or just a person curious about how you can gain a better understanding of artificial intelligence, XAISuite is the library for you. Please be sure to contribute and contact us if you have any questions.

Table of Contents

  1. Introduction
  2. Installation
  3. Getting Started
  4. How to Contribute
  5. Technical Report and Citing XAISuite

Introduction

XAISuite (Explanatory Artificial Intelligence Suite) is a library for comparing explanatory systems. In addition, it streamlines the training and explanation generation process into one line of code so that users can focus on insights instead of the mechanics of how models are trained and explained.

While we would like to highlight the fact that you only need one line of code for training and explaining your models with XAISuite, our main contribution is a novel algorithm that outputs a similarity value between two ordered vectors containing the outputs of machine learning explainers.

But first, what are explainers? Machine learning models are opaque models, so we have no idea what's going on inside of them. Explainers help us understand machine learning models we have trained and therefore give us aa better idea of why machine learning models fail in particular instances.

XAISuite accomplishes machine learning model training and explanation generation in three steps: (1) data loading, (2) data processing, and (3) model training and explanation generation. Each of these steps are delved into more detail in our documentation, in the demo tutorials, and are overviewed in the graphic below:

A schematic of XAISuite functionalities

A key part of XAISuite is flexibility, and, in our mission to make machine learning available to all, we have made XAISuite available in the following formats:

  1. As a Python Library (with XAISuite and XAISuiteGUI)
  2. On the Command Line (with XAISuiteCLI)
  3. In block-code (with XAISuiteBlock)

A note on formats: XAISuiteCLI and XAISuiteGUI run on v1.0.8. This will not change in the near future.

As far as we know, XAISuite is among the first comprehensive libraries that allow users to both train and explain models, and the first to provide utilities for explanation comparison. XAISuite was created with a focus on users, and our interface reflects that. We also pioneered the ability to interact with machine learning models on the command line.

Installation

You can install the XAI Suite through PyPI:

pip install XAISuite

This will automatically install the latest version and is the reccomended way to download the library. The version on Github may not be stable. If yu already have XAISuite and want to upgrade it, do:

pip install XAISuite --upgrade Follow the instructions in individual folder READMEs for further installation instructions. For example, to install the command-line tool for XAISuite, do

brew install xaisuitecli

XAISuite 2.0.0 is not backward-compatible with XAISuite 1.0.8. If you want to install version 1.0.8, simply type: pip install XAISuite==1.0.8

Getting Started

For comprehensive example code and an introduction to the library, see the Demo Folder. The Demo folder is never fully complete and we will add more and more tutorials as the project progresses.

If you are looking for a model or dataset to use, sklearn has several cool options.

Examples of graphs and tables generated by the XAISuite version 1.0.8 can be found here.

Follow the instructions in individual folder READMEs for further installation instructions.

Below, we include an example of explaining a Support Vector Classifier Model as a demonstration of what XAISuite can accomplish.

from xaisuite import*
from sklearn.svm import*

z = DataLoader(make_classification, n_samples = 700)
y = DataProcessor(z, processor = "TabularTransform")
x = ModelTrainer(SVC(), y, explainers = {"lime": {"feature_selection": "none"}, "shap": {}})
x.getExplanationsFor([])["lime"].ipython_plot(20)
a = InsightGenerator(x.getExplanationsFor([]))
corr = a.calculateExplainerSimilarity("lime", "shap")

#You can condense this in one line

corr = InsightGenerator(ModelTrainer(SVC(), DataProcessor(DataLoader(make_classification, n_samples = 700) , processor = "TabularTransform"), explainers = {"lime": {"feature_selection": "none"}, "shap":{}}).getExplanationsFor([])).calculateExplainerSimilarity("lime", "shap")

For example involving PyTorch, SciKeras, and custom models, check out the tutorials and example code in the Demo folder.

How to Contribute

We welcome the contribution from the open-source community to improve the library!

To add a new functionality into the library or point out a flaw, please create a new issue on Github. We'll try to look into your requests as soon as we can. Keep in mind that, as this is an open-source project, you release any copyright protection over code you may contribute to the XAISuite Project.

Technical Report and Citing XAISuite

Use the following BibTex to cite XAISuite:

For XAISuite v1.0.8:

@misc{mitra2023xaisuite,
      title={The XAISuite framework and the implications of explanatory system dissonance}, 
      author={Shreyan Mitra and Leilani Gilpin},
      year={2023},
      eprint={2304.08499},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

For XAISuite v2.0:

@misc{mitra2023xaisuite,
      title={Paper pending}, 
      author={Shreyan Mitra and Leilani Gilpin},
      year={2023},
      eprint={},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

Contact Us

If you have any questions, comments or suggestions, please do not hesitate to contact us at xaisuite@gmail.com

Metadata

Release files for XAISuite 2.9.2

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

Source distribution (sdist)

Source distribution for XAISuite 2.9.2
File Size Uploaded
XAISuite-2.9.2.tar.gz 15.3 kB Details

Built distribution (wheel)

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

Total release size: 33.5 kB

Release files / XAISuite-2.9.2.tar.gz

Download URL XAISuite-2.9.2.tar.gz
Size 15.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8bac29d61c7eab868cfc94db31f5d0cb209491125d170584b0b033ce5e7c3bf9
BLAKE2b-256 checksum
How to use checksums
901cfc7e98bb559101038bd37034ca91537a250d40a783c3bd70d4d991add543
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / XAISuite-2.9.2-py3-none-any.whl

Download URL XAISuite-2.9.2-py3-none-any.whl
Size 18.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
679afaec71af731cfa03c2cfacfb2422636c6827cbe81d0372cb55b90084a227
BLAKE2b-256 checksum
How to use checksums
8330713618e3337b94d94c5124346d8339ef2dc9cd86ad023a83850680be2d71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release history Release notifications | RSS feed

This release

2.9.2 This release

2 release files

2.9.1

2 release files

2.9

2 release files

2.8.8

2 release files

2.8.6

2 release files

2.8.5

2 release files

2.8.4

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7

2 release files

2.6.2

2 release files

2.6.1

2 release files

2.6

2 release files

2.5.2

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.9

2 release files

0.7.8

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.9

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6

2 release files

0.3

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