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

SHAP与NumPy兼容性问题:NumPyArrayGeneric引发TypeError

SHAP与NumPy兼容性问题:TypeError: 'numpy._DTypeMeta' object is not subscriptable

问题重现

执行以下SHAP相关代码时触发错误:

import shap
explainer = shap.TreeExplainer(rf_classifier)
shap_values = explainer.shap_values(X_test)
shap.summary_plot(shap_values, X_test)

错误信息:

TypeError: 'numpy._DTypeMeta' object is not subscriptable

该错误关联shap.utils模块的NumPyArrayGeneric变量,当前环境版本:SHAP 0.44.1,NumPy 1.22(注:你提到的NumPy 0.22应为笔误,NumPy无此版本,实际应为1.22)。

解决方案

1. 手动调整NumPy版本到兼容范围

SHAP 0.44.1与NumPy 1.22+存在兼容性问题,可降级NumPy到1.21.x系列:

pip install numpy==1.21.6

安装完成后重启Python环境,重新执行代码验证。

2. 升级SHAP到最新稳定版

新版本SHAP已修复该NumPy兼容性问题,直接升级:

pip install --upgrade shap

升级后无需手动调整NumPy版本,SHAP会自动匹配兼容的依赖版本。

3. 排查虚拟环境冲突

若使用虚拟环境,确保操作在目标环境中执行,避免全局包干扰。可通过以下命令确认当前环境的包版本:

import numpy, shap
print(f"NumPy版本: {numpy.__version__}")
print(f"SHAP版本: {shap.__version__}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 00:26:00