Table of Contents
SHAP
“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."
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).
ELI5
OmniXAI
Home Technology peripherals AI 6 Recommended Python Frameworks for Building Explainable Artificial Intelligence Systems (XAI)

6 Recommended Python Frameworks for Building Explainable Artificial Intelligence Systems (XAI)

Apr 26, 2023 am 10:49 AM
python AI frame

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.

六个优秀的可解释AI (XAI)的Python框架推荐

Use pip or conda to install the shap library.

# install with pippip install shap# install with condaconda install -c conda-forge shap
Copy after login

六个优秀的可解释AI (XAI)的Python框架推荐

Use Shap library to build waterfall chart

六个优秀的可解释AI (XAI)的Python框架推荐

##Use Shap library to build Beeswarm chart

六个优秀的可解释AI (XAI)的Python框架推荐

Using the Shap library to build partial dependency graphs

LIME

In the field of interpretability, one of the first well-known methods is LIME. It can help explain what machine learning models are learning and why they predict a certain way. Lime currently supports interpretation of tabular data, text classifiers, and image classifiers.

Knowing why the model predicts the way it does is crucial to tuning the algorithm. With LIME's explanation, you can understand why the model behaves this way. If the model does not run as planned, chances are a mistake was made during the data preparation phase.

六个优秀的可解释AI (XAI)的Python框架推荐

Use pip to install

pip install lime
Copy after login

六个优秀的可解释AI (XAI)的Python框架推荐##Partial explanation diagram built by LIME

六个优秀的可解释AI (XAI)的Python框架推荐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.

六个优秀的可解释AI (XAI)的Python框架推荐Using Shapash to build feature contribution graph

六个优秀的可解释AI (XAI)的Python框架推荐Interactive dashboard created using Shapash library

六个优秀的可解释AI (XAI)的Python框架推荐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.

六个优秀的可解释AI (XAI)的Python框架推荐

Local explanation interactive graph built using InterpretML

六个优秀的可解释AI (XAI)的Python框架推荐

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.

六个优秀的可解释AI (XAI)的Python框架推荐

Use the ELI5 library to generate global weights

六个优秀的可解释AI (XAI)的Python框架推荐

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.

六个优秀的可解释AI (XAI)的Python框架推荐

The following is a comparison between what OmniXAI provides and other similar libraries

六个优秀的可解释AI (XAI)的Python框架推荐

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Python: Exploring Its Primary Applications Python: Exploring Its Primary Applications Apr 10, 2025 am 09:41 AM

Python is widely used in the fields of web development, data science, machine learning, automation and scripting. 1) In web development, Django and Flask frameworks simplify the development process. 2) In the fields of data science and machine learning, NumPy, Pandas, Scikit-learn and TensorFlow libraries provide strong support. 3) In terms of automation and scripting, Python is suitable for tasks such as automated testing and system management.

The 2-Hour Python Plan: A Realistic Approach The 2-Hour Python Plan: A Realistic Approach Apr 11, 2025 am 12:04 AM

You can learn basic programming concepts and skills of Python within 2 hours. 1. Learn variables and data types, 2. Master control flow (conditional statements and loops), 3. Understand the definition and use of functions, 4. Quickly get started with Python programming through simple examples and code snippets.

Navicat's method to view MongoDB database password Navicat's method to view MongoDB database password Apr 08, 2025 pm 09:39 PM

It is impossible to view MongoDB password directly through Navicat because it is stored as hash values. How to retrieve lost passwords: 1. Reset passwords; 2. Check configuration files (may contain hash values); 3. Check codes (may hardcode passwords).

How to use AWS Glue crawler with Amazon Athena How to use AWS Glue crawler with Amazon Athena Apr 09, 2025 pm 03:09 PM

As a data professional, you need to process large amounts of data from various sources. This can pose challenges to data management and analysis. Fortunately, two AWS services can help: AWS Glue and Amazon Athena.

How to start the server with redis How to start the server with redis Apr 10, 2025 pm 08:12 PM

The steps to start a Redis server include: Install Redis according to the operating system. Start the Redis service via redis-server (Linux/macOS) or redis-server.exe (Windows). Use the redis-cli ping (Linux/macOS) or redis-cli.exe ping (Windows) command to check the service status. Use a Redis client, such as redis-cli, Python, or Node.js, to access the server.

How to read redis queue How to read redis queue Apr 10, 2025 pm 10:12 PM

To read a queue from Redis, you need to get the queue name, read the elements using the LPOP command, and process the empty queue. The specific steps are as follows: Get the queue name: name it with the prefix of "queue:" such as "queue:my-queue". Use the LPOP command: Eject the element from the head of the queue and return its value, such as LPOP queue:my-queue. Processing empty queues: If the queue is empty, LPOP returns nil, and you can check whether the queue exists before reading the element.

How to view server version of Redis How to view server version of Redis Apr 10, 2025 pm 01:27 PM

Question: How to view the Redis server version? Use the command line tool redis-cli --version to view the version of the connected server. Use the INFO server command to view the server's internal version and need to parse and return information. In a cluster environment, check the version consistency of each node and can be automatically checked using scripts. Use scripts to automate viewing versions, such as connecting with Python scripts and printing version information.

How secure is Navicat's password? How secure is Navicat's password? Apr 08, 2025 pm 09:24 PM

Navicat's password security relies on the combination of symmetric encryption, password strength and security measures. Specific measures include: using SSL connections (provided that the database server supports and correctly configures the certificate), regularly updating Navicat, using more secure methods (such as SSH tunnels), restricting access rights, and most importantly, never record passwords.

See all articles