问题标签 [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 - ClipByValue 不存在于 Shap 包的 tf_ops._gradient_registry._registry
我尝试使用python 中的这个包示例来解释我的深度学习模型。shap
当我调用 时explainer.shap_values(test[:2])
,我得到一个 Keyerror - ClipByValue。
显然 ClipByValue 不存在于我的tf_ops._gradient_registry._registry
.
scikit-learn - 如何将 SHAP 与 sklearn 中的线性 SVC 模型一起使用 Pipeline?
我正在使用 sklearn 的线性 SVC 模型进行文本分类。现在我想通过使用 SHAP ( https://github.com/slundberg/shap )来可视化哪些词/标记对分类决策的影响最大。
现在这不起作用,因为我收到一个错误,该错误似乎源于我定义的管道中的矢量化步骤 - 这里有什么问题?
在这种情况下,我关于如何使用 SHAP 的一般方法是否正确?
这是我收到的错误消息:
python - 如何告诉 shap 树解释器和 shap 值计算器哪些变量是分类的?
我需要更好地理解我的 LightGBM 模型,所以我正在使用 SHAP Tree 解释器。需要对lightgbm
数据进行编码,我将相同的数据传递给树解释器。因此,我担心 SHAPTreeExplainer
并将shap_values()
我的数据视为数字数据。如何指定数据是分类的?这会改变 SHAP 值的计算吗?
我已经浏览了文档。
python - 当我运行 SHAP 时,这个错误是什么?“无法导入名称'_validate_lengths'”
当我运行时import shap
,出现以下错误:
python-3.x - 安装 SHAP 后 pandas 和 numpy 无法正常运行
我是 python 编程的新手,想安装 SHAP。安装 SHAP 后,我收到了基本代码的错误,这些代码之前执行得很好(pandas 和 numpy)。我的版本是 python 3.7.1 conda 4.7.11 pd__version__ :'0.23.4'
我遇到了类似的问题并尝试进行故障排除,但现在 SHAP 和 numpy、pandas 都无法正常工作。我正在为 Windows 开发 anaconda 发行版。并pip install --upgrade
没有解决我的问题。
目前甚至 pd.read_csv 都不起作用
升级或重新安装 pandas 已满足要求。
tensorflow - 使用 DeepExplainer 获取 Keras 中具有 tensorflow 后端的 MLP 模型的 shap 值
我正在使用 DeepExplainer 来获取深度学习模型的 shap 值。通过遵循一些教程,我可以获得一些结果,即哪些变量从基值推动模型预测,基值是训练集中的平均模型输出。
我有大约 5,000 个观察值和 70 个特征。DeepExplainer 的表现中规中矩。我的代码是:
这里的基值为 0.012(也可以通过e.expected_value[0]看到),非常接近输出值 0.01。
在这一点上,我有一些问题:
1) 输出值与通过model0.predict(test[healthFeatures])[947] = -0.103得到的预测值不同我应该如何评估输出值?
2) 可以看出,我使用整个训练集作为背景来近似 SHAP 值的条件期望。使用训练集和整个集的随机样本有什么区别?它仅与性能问题有关吗?
提前谢谢了!
python-3.x - 如何将绘图(由 shap_values 生成)保存到 png?
我使用 Shap 库来可视化变量的重要性。
我尝试将 shap_summary_plot 保存为“png”图像,但我的 image.png 但他们得到一个空图像
这是我使用的代码:
代码有效,但保存的图像为空。
如何将绘图保存为 image.png?
python - 形状力图和决策图为 XGBClassifier 模型提供了错误的输出
我正在尝试为一小部分预测提供 shap 决策图,但 shap 找到的输出与我在仅使用模型进行预测时得到的结果不同,即使在调用中使用 link = 'logit' 也是如此。由于我试图绘制的子集,我试图生成的每个决策图的结果都应该大于预期值。但是,生成的每个图的预测值都低于预期值。
我有两个模型处于最小集合中,因此我使用 for 循环来确定要为其生成绘图的模型。我为 RandomForestClassifier 模型创建正确的图没有问题,但 XGB 模型出现了问题。
如前所述,在评分时,(我关心的)每个观察值都应该 > 0.5,但这不是我在 shap plots 中看到的。这是一个例子:
该图显示了大约 0.1 的输出,但是当使用 predict_proba 对该观察进行评分时,我得到的值为 0.608
由于数据的敏感性,我无法真正提供代表,我不确定根本问题是什么。
非常欢迎任何反馈,谢谢。
相关点冻结项目:
蟒蛇 3.7.3
matplotlib==3.0.3
形状==0.30.1
xgboost==0.90
machine-learning - 用于可解释机器学习的 Shapley 值和 SHAP 之间的差异
关于模具封装的论文shap
给出了 (4) 中的 Shapley 值和显然在 (8) 中的 SHAP 值的公式
我仍然不太了解 Shapley 和 SHAP 值之间的区别。据我了解,对于 Shapley,我需要在每个可能的参数子集上重新训练我的模型,而对于 SHAP,我只是使用在所有参数上训练的基本模型。是这样吗?那么SHAP在计算上更容易吗?