numpy SHAP依赖图的问题:TypeError:ufunc的循环不支持没有可调用共轭方法的类型为Explanation的参数0

rsaldnfx  于 2023-04-21  发布在  其他
关注(0)|答案(1)|浏览(343)

我试图在我为表格数据的二进制分类构建的XGBoost模型上使用SHAP python库。特别是在试图生成依赖图时,我得到了以下错误。
TypeError: loop of ufunc does not support argument 0 of type Explanation which has no callable conjugate method
以下是完整的traceback:
https://pastebin.com/u3imDXir
我的SHAP分析代码看起来相当基本,我能够毫无困难地生成蜂群图。

import shap

explainer = shap.Explainer(model, X_train)
shap_values = explainer(X_train)

max_display = 20

shap.summary_plot(shap_values, X_train, max_display=max_display, color_bar=False, show=False)
plt.gcf().set_size_inches(5, 7)
plt.colorbar(label='feature value', ticks=[], fraction=0.03, pad=0.04)
plt.title = "SHAP beeswarm summary plot"
plt.savefig(('../reports/figures/01_successbutdialysisDurReversed/all_Data_plotted/summary_plot_limFeatures_' + str(max_display) + '.png'), dpi=600, bbox_inches='tight')`

当我试图制作dependency_plot时,我开始得到错误。

shap.dependence_plot("iv_total", shap_values, X_train)
plt.show()

到目前为止,我已经尝试在Python 3.10上擦除我的virtualenv并安装最新的anaconda发行版。如果有相关性,我使用的是M1 Mac。我将感谢任何帮助!

blmhpbnm

blmhpbnm1#

两个都试试

shap_values = explainer.shap_values(X_train)

shap.dependence_plot("iv_total", shap_values.values, X_train)

相关问题