看着shap库,我发现了this question,其中的答案展示了瀑布图,整洁!查看一些官方示例here和here,我注意到这些图也展示了特征的价值
shap包同时包含shap.waterfall_plot
和shap.plots.waterfall
,在Iris数据集上训练的随机林上尝试这两种方法会得到相同的结果(请参见下面的一个代码和图像示例)
for which_class in y.unique():
display(
shap.waterfall_plot(shap.Explanation(values=shap_values[int(which_class)][idx],
base_values=explainer.expected_value[int(which_class)],
feature_names=X_test.columns.tolist())
)
)
其中idx
表示我试图解释的测试集中的一个样本。代码为其中一个类生成以下绘图:
如何使绘图同时显示特征值?我没有看到可以传递给plot方法的任何其他参数
非常感谢您的帮助
找到了
shap.Explanation
方法有一个参数,您可以在其中传递数据。请参见下面编辑的示例(不要介意与问题中上传的图像相比,这些功能的贡献略有不同,设置随机种子可能有问题)
相关问题 更多 >
编程相关推荐