shap.summary_plot(shap_values, X, plot_type="bar", max_display=10)
↑这一句已经将图片显示了,相当于使用了plt.show(),所以之后无法使用plt.savefig。
需要增加参数,让其不显示图片即可。
# 创建 SHAP 图像
shap.summary_plot(shap_values, X, plot_type="bar", max_display=10, show=False)
# 保存图像
plt.gcf().savefig(filename, bbox_inches='tight', dpi=300)
plt.close()