当前位置: 首页 > article >正文

4、SHAP值理论

理解个体的预测

文章目录

  • 1、简介
  • 2、工作原理
  • 3、计算SHAP值的代码

1、简介

你已经看到(并使用过)从机器学习模型中提取一般性解释的技术。但是如果你想详细分析模型对于单个预测的工作原理呢?

SHAP值(来自SHapley Additive exPlanations的缩写)将一个预测分解,以显示每个特征的影响。在哪些情况下可以使用这个?

  • 一个模型说银行不应该向某人贷款,而银行在法律上被要求解释每笔贷款拒绝的依据
  • 一个医疗保健提供者想要确定是什么因素影响了每位患者患某种疾病的风险,以便他们可以通过有针对性的健康干预措施直接应对这些风险因素

在本课程中,您将使用SHAP值解释个别预测。在下一课中,您将看到如何将这些值聚合成强大的模型级别洞察。

2、工作原理

SHAP值解释了具有给定特征值相对于如果该特征取某个基线值时的预测的影响。

一个例子是有帮助的,我们将继续使用 排列重要性 和 偏依赖图 课程中的足球例子。

在这些教程中,我们预测一支球队是否会有球员赢得 本场最佳 奖项。

我们可以问:

  • 预测中球队进球3个的驱动程度有多大?

但如果我们将这个问题重新表述为:

  • 预测中球队进球3个的驱动程度有多大,而不是某个基线进球数。

当然,每支球队都有许多特征。因此,如果我们为 进球数 回答了这个问题,我们可以为所有其他特征重复这个过程。

SHAP值以一种确保良好性质的方式执行这个过程。具体而言,您可以使用以下方程式分解预测:

sum(SHAP values for all features) = pred_for_team - pred_for_baseline_values

也就是说,所有特征的SHAP值相加等于解释为什么我的预测与基线不同。这允许我们将预测分解成如下图所示:
在这里插入图片描述

如果您想要查看此图的更大视图,这是一个链接

如何解释这个图呢?

我们预测为0.7,而 base_value 是0.4979。导致增加预测的特征值为粉红色,它们的可视大小显示了特征效果的大小。导致减少预测的特征值为蓝色。最大的影响来自 进球数 为2。尽管控球率值对减小预测有意义。

如果将蓝条的长度减去粉条的长度,它等于从基线值到输出的距离。

该技术存在一些复杂性,以确保基线值加上单个效果的总和等于预测值(这并不像听起来那么简单)。我们不会在这里详细介绍这个细节,因为这对于使用这项技术并不是关键的。这篇博客文章有一个更长的理论解释。

3、计算SHAP值的代码

我们使用优秀的 Shap 库来计算SHAP值。

在这个例子中,我们将重用您已经在足球数据中看到的模型。

In [1]:

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

# 从 CSV 文件中读取数据
data = pd<

http://www.kler.cn/a/228132.html

相关文章:

  • Spring Boot是什么及其优点
  • 【CSS入门学习】Flex布局设置div水平、垂直分布与居中
  • 【ARM】解决MDK在打开工程的时候提示CMSIS的版本不对问题
  • 沃尔玛 礼品卡绑定 分析
  • PHP EOF (Heredoc) 详解
  • 使用Cline+deepseek实现VsCode自动化编程
  • Docker进阶篇-compose容器编排
  • MacOS Mojavev10.14.6
  • vim 常用命令
  • MMLAB的实例分割算法mmsegmentation
  • Redis-布隆过滤器解决穿透详解
  • 基于动作合成视频、线免费使用不需要注册,支持多种视频任务:图像生成视频、文本生成视频、视频修改、视频风格化、用Transformer构建世界模型
  • 基于微信小程序的校园水电费管理小程序的研究与实现
  • ChatGPT生产力|chat gpt实战介绍
  • 【数据库】详细说一下一条 MySQL 语句执行的步骤
  • Ps:文档窗口状态栏
  • SpringBoot 过滤器Filter 拦截请求 生命周期
  • CSDN文章导出工具
  • python实现音频转文本
  • flinksqlbug : AggregateFunction udf Could not extract a data type from
  • 一文学会Axios的使用
  • SplashScreen使用
  • 状态压缩 笔记
  • 深拷贝的几种方法
  • 计算机设计大赛 深度学习 植物识别算法系统
  • Unity类银河恶魔城学习记录1-13PlayerAttack-Improve P40