shap问题

shap问题
试了好多方法,弄了一天,
总是出现The Session graph is empty. Add operations to the graph before calling run().
还有raise TypeError("Tensor is unhashable. " “Instead, use tensor.ref() as the key.”) E TypeError: Tensor is unhashable. Instead, use tensor.ref() as the key.
或者(KerasTensor(type_spec=TensorSpec(shape=(?, 30, 27), dtype=tf.float32, name=‘module_wrapper_1_input’), name=‘module_wrapper_1_input’, description=“created by layer ‘module_wrapper_1_input’”))Instead, use tensor.ref() as the key.
在shap上面加了下面三行代码还是不行,后面发现把三行代码放在开头就可以了
import tensorflow as tf
tf.compat.v1.disable_v2_behavior()
tf.compat.v1.disable_eager_execution()

哎,好多csdn都没解决,还是在github上看见回答,以后还是不要畏惧英文啊
https://github.com/slundberg/shap/issues/1694

03-13
### SHAP解释模型预测 #### Python机器学习库中的SHAP介绍 SHAPSHapley Additive Explanations)作为一种强大的XAI工具,在Python环境中被广泛应用于多种类型的机器学习模型之中,如树模型、线性模型以及深度学习模型等[^1]。其核心在于通过计算各特征对于单次预测的影响程度——即所谓的Shapley值,来揭示不同因素如何共同作用于最终的决策结果。 #### 使用流程概述 为了利用SHAP解析已有的机器学习模型,需遵循一系列操作指南: - 完成目标算法的选择与训练工作之后; - 导入必要的软件包,包括但不限于`shap`本身及其关联的数据处理模块; - 构建一个基于所选模型实例化的解释器实体,通常借助`shap.Explainer()`方法实现; - 对特定数据集执行分析动作,例如调用`.shap_values()`函数获得对应样本上各个属性的重要性得分;这些数值直观反映了它们各自对输出结论形成的正向或负向推动效果[^2]。 ```python import shap from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestRegressor # 加载并准备数据 boston = load_boston() X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target) # 训练回归模型 model = RandomForestRegressor().fit(X_train, y_train) # 创建explainer对象并与测试集交互以生成shap values explainer = shap.TreeExplainer(model) shap_values = explainer.shap_values(X_test) # 可视化全局重要性的总结图 shap.summary_plot(shap_values, X_test) ``` 上述代码片段展示了如何结合波士顿房价案例快速入门SHAP的应用实践,其中特别强调了summary plot的作用,它能够帮助研究者一眼看出哪些变量在整个数据集中占据主导地位。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值