


6 Recommended Python Frameworks for Building Explainable Artificial Intelligence Systems (XAI)
AI is like a black box that can make decisions on its own, but people don’t know why. Build an AI model, input data, and then output the results, but one problem is that we cannot explain why the AI reaches such a conclusion. There is a need to understand the reasoning behind how an AI reaches a certain conclusion, rather than just accepting a result that is output without context or explanation.
Interpretability is designed to help people understand:
- How is it learned?
- What is learned?
- Why a specific input Making such a decision?
- Is the decision reliable?
In this article, I will introduce 6 Python frameworks for interpretability.
SHAP
SHapley Additive explanation (SHapley Additive explanation) is a game theory method for explaining the output of any machine learning model. It utilizes the classic Shapley value from game theory and its related extensions to relate optimal credit allocation to local interpretations (see paper for details and citations).
The contribution of each feature in the dataset to the model prediction is explained by the Shapley value. Lundberg and Lee's SHAP algorithm was originally published in 2017, and the algorithm has been widely adopted by the community in many different fields.
Use pip or conda to install the shap library.
# install with pippip install shap# install with condaconda install -c conda-forge shap
Use Shap library to build waterfall chart
pip install lime
##Partial explanation diagram built by LIME
Beeswarm graph built by LIME
Shapash
“Shapash is a Python library that makes machine learning interpretable and understandable for everyone. Shapash provides several types of visualizations , displays clear labels that everyone can understand. Data scientists can more easily understand their models and share results. End users can use the most standard summary to understand how the model made its judgments."
To express findings that contain stories, insights, and models in your data, interactivity and beautiful charts are essential. The best way for business and data scientists/analysts to present and interact with AI/ML results is to visualize them and put them on the web. The Shapash library can generate interactive dashboards and has a collection of many visualization charts. Related to shape/lime interpretability. It can use SHAP/Lime as the backend, which means it only provides better-looking charts.
Using Shapash to build feature contribution graph
Interactive dashboard created using Shapash library
Partial Interpretation Graph built using Shapash
InterpretML
InterpretML is an open source Python package that provides machine learning interpretability algorithms to researchers. InterpretML supports training interpretable models (glassbox), as well as interpreting existing ML pipelines (blackbox).
InterpretML demonstrates two types of interpretability: glassbox models – machine learning models designed for interpretability (e.g. linear models, rule lists, generalized additive models) and black box interpretability techniques – using Used to explain existing systems (e.g. partial dependencies, LIME). Using a unified API and encapsulating multiple methods, with a built-in, extensible visualization platform, this package enables researchers to easily compare interpretability algorithms. InterpretML also includes the first implementation of the explanation Boosting Machine, a powerful, interpretable, glassbox model that can be as accurate as many black-box models.
Local explanation interactive graph built using InterpretML
Global explanation graph built using InterpretML
ELI5
ELI5 is a Python library that can help debug machine learning classifiers and interpret their predictions. Currently the following machine learning frameworks are supported:
- scikit-learn
- XGBoost, LightGBM CatBoost
- Keras
ELI5 has two main Ways to explain a classification or regression model:
- Examine the model parameters and explain how the model works globally;
- Examine the model's individual predictions and explain what the model would make. Decide.
Use the ELI5 library to generate global weights
Use the ELI5 library to generate local weights
OmniXAI
OmniXAI (short for Omni explained AI) is a Python library recently developed and open sourced by Salesforce. It provides a full range of explainable artificial intelligence and explainable machine learning capabilities to solve several problems that require judgment in the generation of machine learning models in practice. For data scientists, ML researchers who need to interpret various types of data, models and explanation techniques at various stages of the ML process, OmniXAI hopes to provide a one-stop comprehensive library that makes explainable AI simple.
The following is a comparison between what OmniXAI provides and other similar libraries
The above is the detailed content of 6 Recommended Python Frameworks for Building Explainable Artificial Intelligence Systems (XAI). For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

To run Python code in Sublime Text, you need to install the Python plug-in first, then create a .py file and write the code, and finally press Ctrl B to run the code, and the output will be displayed in the console.

Writing code in Visual Studio Code (VSCode) is simple and easy to use. Just install VSCode, create a project, select a language, create a file, write code, save and run it. The advantages of VSCode include cross-platform, free and open source, powerful features, rich extensions, and lightweight and fast.

Golang is better than Python in terms of performance and scalability. 1) Golang's compilation-type characteristics and efficient concurrency model make it perform well in high concurrency scenarios. 2) Python, as an interpreted language, executes slowly, but can optimize performance through tools such as Cython.

VS Code can be used to write Python and provides many features that make it an ideal tool for developing Python applications. It allows users to: install Python extensions to get functions such as code completion, syntax highlighting, and debugging. Use the debugger to track code step by step, find and fix errors. Integrate Git for version control. Use code formatting tools to maintain code consistency. Use the Linting tool to spot potential problems ahead of time.
