You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SHAP库新版本报错:'Exact'对象无'shap_values'属性,求替代方案

SHAP版本更新后shap_values方法报错的解决办法

错误原因

SHAP库在v0.40及以上版本重构了解释器API,原有的.shap_values()方法被移除,Exact解释器对象不再支持该调用方式,直接调用解释器实例传入目标数据即可获取SHAP值。

替代代码

删除原代码中最后一行的.shap_values()调用,改用直接调用解释器对象的方式获取SHAP值,完整修改后的代码如下:

import shap
import pandas as pd
from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor

dataset = fetch_california_housing(as_frame=True)
X = dataset["data"]
y = dataset["target"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

model = RandomForestRegressor()
model.fit(X_train, y_train)

# 初始化解释器
explainer = shap.Explainer(model.predict, X_test)
# 获取测试集的SHAP值
shap_values_test = explainer(X_test)
# 获取全量数据集的SHAP值
shap_values_full = explainer(X)

补充说明

获取到的shap_values_test和shap_values_full是Explanation类型对象,包含SHAP值、基准预测值等完整信息,可直接用于后续分析或可视化(例如shap.plots.bar(shap_values_test)生成特征重要性柱状图)。

内容的提问来源于stack exchange,提问作者I guaranteed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:25:51