Open-source packages by

Marcel Robeer

About me

Hello! My name is Marcel Robeer, and I am currently pursuing a PhD in Explainable Artificial Intelligence (XAI) at Utrecht University!

I conduct research at the Netherlands National Police Lab AI (NPAI).

As part of my research, and as part of earlier projects during my master's and bachelor's theses, I have developed several open-source Python packages. This website provides an overview of these packages, and showcases my main package developed for my PhD: the explabox!

Want to contribute? Or get in touch? Check out my staff page and GitHub!

Explabox

With the explabox, you can turn your ingestibles (model and data) into digestibles (statistics and insights). You no longer need a whole suite of Python packages for descriptive statistiscs, explainable AI (XAI), and safety, robustness & fairness testing. Simply pip install explabox, and you are good to go:

python3.8 and above
from explabox import Explabox, import_data, import_model

# Import model and data
data = import_data('data.csv', data_cols='review', label_cols='score')
model = import_model('classifier.onnx')

# Wrap in the explabox
box = Explabox(data=data, model=model)

# Explore, examine, explain and expose!

Once your data (e.g. .csv, HDF5, pandas DataFrame or huggingface Dataset) and model (e.g. scikit-learn, PyTorch or tensorflow) are wrapped in the explabox, you are good to go!

The explabox can be used to:

  • Explore: describe aspects of the model and data.
  • Examine: calculate quantitative metrics on how the model performs.
  • Expose: see model sensitivity to random inputs (safety), test model generalizability (robustness), and see the effect of adjustments of attributes in the inputs (e.g. swapping male pronouns for female pronouns; fairness), for the dataset as a whole (global) as well as for individual instances (local).
  • Explain: use XAI methods for explaining the whole dataset (global), model behavior on the dataset (global), and specific predictions/decisions (local).
python3.8 and above
# Explore descriptive statistics
box.explore()
...

# Examine model performance on the data
box.examine.wrongly_classified()
...

# Explain local/global model behavior
box.explain.explain_prediction('Explain this instance!')
...

# Expose where the model is sensitive to
box.expose.compare_metrics(perturbation='upper')
...

The explabox aims to support data scientists and ML engineers, but also makes it easy to document and communicate it with your stakeholders! It was designed and instigated in a professional environment, where the explabox is used to support the AI lifecycle with traceable, accountable & transparent model development and usage.

Curious as to how the explabox can support your workflow? To get started, check out the documentation or the GitHub page!