我尝试将Shap (Tree Explainer
)用于sklearn.ensemble._stacking.StackingClassifier
explainer = shap.TreeExplainer(clf)
shap_values = explainer.shap_values(x)
shap.initjs()
return shap.force_plot(explainer.expected_value[1], shap_values[1], x)
但我有个错误:Model type not yet supported by TreeExplainer: <class 'sklearn.ensemble._stacking.StackingClassifier'>
如何将shap force_plot
用于sklearn StackingClassifier
谢谢。
发布于 2022-06-02 18:16:55
TreeExplainer
只对基于树的模型本身工作,而不对以基于树的模型结尾的管道或元模型工作。
如果您想要从原始特性的角度来解释,您将需要使用基类Explainer类(或等效地使用KernelExplainer
类)。不幸的是,这将是近似和更昂贵的计算。
https://stackoverflow.com/questions/72479262
复制相似问题