问题标签 [shap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何使用 matplotlib 转换 nd 数组以绘制特征重要性
我正在使用shap
来确定mlp_classifier
.
(注意 - 我使用的是虚拟数据和模型,因为我的正常数据和模型是专有的)。
shap.summary_plot
按照本指南使用,我得到如下图:
在我的实际数据集中,我有关于10,000
特征。我要做的是从该列表中获取最重要的功能,并按照本指南n
使用 绘制它们。但是,我收到一个错误和一个空白图表:matplotlib
完整追溯:
我无法将shap_value
in映射shap_values[1]
到X_test.columns
. 我怎样才能正确地占据顶部n
并绘制matplotlib
?
python - 使用 predict_contributions 在 Python 中的 H2O 中的负 SHAP 值
我一直在尝试计算 Python 中 H2O 模块中梯度提升分类器的 SHAP 值。下面是该predict_contibutions
方法文档中的改编示例(改编自https://github.com/h2oai/h2o-3/blob/master/h2o-py/demos/predict_contributionsShap.ipynb)。
我从上面的代码中得到的图像是: 一次观察的力图
输出是什么意思?考虑到上面的问题是分类问题,预测值应该是概率(甚至预测的类别——0或1),对吧?基值和预测值均为负值。
谁能帮我这个?
python - 在 Pip 虚拟环境中 Pip 安装 SHAP 失败
我在 Linux 服务器上的 Python 3.6.3 上使用 pip 虚拟环境。
我尝试 pip 安装 SHAP 但遇到以下错误:
我浏览了一些类似的问题并尝试通过指定包版本来安装 SHAP,但没有任何成功。
你能请教吗?提前致谢!
python - Tensorflow 模型层连接失败,无法使用 shap.DeepExplainer
我正在尝试应用 shap.deepexplainer 来解释模型输出。
我的模型类如下:
当我将模型应用为:
并且模型加载成功:
然后我尝试使用
但后来它给了我错误:
AttributeError: 层密集未连接,没有输入返回。Traceback(最近一次调用最后一次):文件“/home/ANANT/codes/test/env/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py”,第 1808 行,在输入中没有连接,没有输入返回。')
而且model.layers[-1].output也不能给出正确的输出:
AttributeError:Layer dense_4 没有入站节点。回溯(最后一次调用):文件“/home/ANANT/test/env/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py”,第 1827 行,在输出中引发 AttributeError( '图层' + self.name + '没有入站节点。')
我的包版本是:keras==2.3.1,tensorflow==1.15.3,shap==0.35.0
我在这个问题上停留了几天,也尝试了 shap.KernelExplainer,它给了我一个不同的错误:
错误如下:
类型错误:调用()缺少 2 个必需的位置参数:“注册”和“长度”回溯(最近一次调用):文件“/home/ANANT/test/env/lib/python3.6/site-packages/shap/explainers /kernel.py”,第 97 行,在 __init__model_null = match_model_to_data(self.model, self.data) 文件“/home/ANANT/test/env/lib/python3.6/site-packages/shap/common.py”中,第 89 行,在 match_model_to_dataout_val = model.f(data.data) 文件“/home/ANANT/test/env/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py”中,第 968 行, 在 __call__outputs = self.call(cast_inputs, *args, **kwargs)
请帮忙,提前谢谢!
python - 在虚拟环境pycharm MAC中安装SHAP包时出错
我正在 pycharm 中开发一个项目,该项目位于 Mac OS 的虚拟环境中。我一直在尝试安装 SHAP 包,不幸的是它没有成功。以下是完整的错误消息。似乎存在一个似乎不存在的 SDK 的问题,但是当我在虚拟环境之外安装包时,我没有遇到任何问题。
python - 在 SHAP 解释器中使用样本权重
我想计算线性模型的 SHAP 值。对于回归,我必须使用样本权重。
问题是我无法评估样本权重是否实际应用于正确计算 SHAP 值。
这是一个例子。
首先,我计算没有权重的回归。
然后我用权重计算回归。
到目前为止,我发现(我使用其他软件包(例如 R、SPSS 来评估结果)测试了不同的组合)是我必须将权重应用于fit()
函数并r2_score()
函数以获得正确的结果(参见上面的示例) . 例如,如果我只将权重应用于fit()
函数而不应用于r2_score()
函数,则报告的 R2 值是错误的(即模型错误)。如果我也将权重应用于predict()
函数,则 R2 值也是错误的(即模型错误)。
但是,由于我只能在 Python 中计算 SHAP 值,因此我无法评估结果。问题是我应该如何应用样本权重来计算 SHAP 值?
仅在拟合函数 (?) 中:
或者也在explainer()
函数(?)中:
可能还有其他可能性……但我不知道哪个是正确的。
这是一个小数据样本。
python - 如何将 shap.DeepExplainer (SwigPyObject) 保存到文件中?
我试图使用 保存我的解释shap
器类型,但我收到错误:。我的代码:DeepExplainer
pickle.dump
can't pickle SwigPyObject objects
将此类存储到文件的最佳方法是什么?
python - 在处理上述异常的过程中,使用SHAP解释keras神经网络模型时出现了另一个异常
x_train
看起来像这样(22 个特征):
标签是0
and 1
,这是一个二元分类问题,这是构建模型的代码,我正在关注这个页面来实现 SHAP:
这给了我错误:
我不知道这条消息在抱怨什么,我尝试将 SHAP 与 XGBoost 和 Logistic 回归模型一起使用,它们都工作正常,我是 keras 和 SHAP 的新手,有人可以看看我以及我如何解决它? 非常感谢。
python - 如何让我的 SHAP 图显示超过 20 个变量?
如何让我的 SHAP 图在我的图表中显示 20 多个变量。这是我的代码:
python - 如何在 Mac 上安装 shap 模块?
我正在尝试安装 shap 包并不断收到以下错误
ModuleNotFoundError: No module named 'shap'
我在笔记本和终端中输入了以下内容
这是错误的行
我目前在 Mac 上