当前位置:   article > 正文

4、SHAP值理论_shap中特征值和shap 值的区别

shap中特征值和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
  • 1

也就是说,所有特征的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<
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/571231
推荐阅读
相关标签
  

闽ICP备14008679号