Visualizing SHAP Values in Python

  • Share this:

Code introduction


This code defines a function named `visualize_shap_values` that visualizes SHAP values for a given dataset and model. It first creates a SHAP explainer, then computes SHAP values, and visualizes these values using the `waterfall` method from the SHAP library. In the main function `main`, a random dataset is generated, a simple linear regression model is created, and the `visualize_shap_values` function is called to visualize the SHAP values of the model on the data.


Technology Stack : The code uses the packages and technologies from the SHAP library, including numpy, pandas, and shap. It utilizes SHAP for explaining model predictions, and numpy and pandas for data manipulation.

Code Type : The type of code

Code Difficulty :


                
                    
import numpy as np
import shap
import pandas as pd

def visualize_shap_values(X, y, model):
    """
    Visualize the SHAP values for a given dataset and model.
    """
    # Create a SHAP explainer
    explainer = shap.Explainer(model, X)
    # Compute SHAP values
    shap_values = explainer(y)
    # Visualize the SHAP values
    shap.plots.waterfall(shap_values)

# Example usage
def main():
    # Generate a random dataset
    X = np.random.rand(100, 5)
    y = np.random.randint(0, 2, 100)
    # Create a simple model (logistic regression)
    model = shap.LinearRegression()
    # Fit the model
    model.fit(X, y)
    # Visualize SHAP values
    visualize_shap_values(X, y, model)

if __name__ == "__main__":
    main()