实战--SHAP机器学习黑箱解释模型

模型介绍

SHAP(SHapley Additive exPlanation,沙普利加和解释)是由经济学家Lloyd Shapley提出的博弈论概念,属于模型事后解释的方法。它的核心思想是计算特征对模型输出的边际贡献,再从全局和局部两个层面对“黑盒模型”进行解释。

SHAP实际是将输出值归因到每一个特征的shapely值上,换句话说,就是计算每一个特征的shapley值,依此来衡量特征对最终输出值的影响。

实战1--标准的UCI成人收入数据集

1、环境准备

本文实战过程在jupyter中操作,jupyter 进入预制虚拟环境可参考vscode虚拟环境_vscode虚拟环境安装其他包-CSDN博客

1.1 首先安装shap包

pip install shap

1.2 初始化 JavaScript 环境

shap.initjs()

作用:

  1. 加载必要的 JavaScript 库:SHAP 的可视化图表依赖于一些 JavaScript 库,如 D3.js 等。shap.initjs() 会确保这些库被加载并初始化。
  2. 配置可视化环境:它设置了一些默认配置,以便 SHAP 的图表能够在 Jupyter Notebook 中正确显示,包括图表的大小、颜色方案等。
  3. 提供交互功能:SHAP 的一些图表是交互式的,允许用户通过鼠标悬停、点击等操作获取更多信息。shap.initjs() 确保这些交互功能能够正常工作。

通常,在使用 SHAP 进行模型解释和可视化时,建议在代码的开头调用 shap.initjs(),以确保后续的 SHAP 可视化图表能够正确显示。

2、数据集准备

2.1 使用标准的UCI成人收入数据集

X,y = shap.datasets.adult()

其中,X包含了数据集中的年龄等个人特征,y包含了数据集中的目标变量,即每个人的年收入是否超过 50,000 美元,表示为True/False

2.2 数据描述

X:

你可能感兴趣的:(机器学习,机器学习,人工智能)