我正在训练一个不加监管的隔离森林模型,它包含了10个特性,该模型表现良好并检测异常。我的问题是,如果一个异常被捕获,我想知道是哪个特性导致了这个异常。有什么办法吗?如果没有,是否有其他模式允许我这样做?
发布于 2022-03-30 09:02:58
SHAP值和shap库可用于此。有关示例,请参见这个答案。
在为数据点从解释器中获取shap值之后,可以使用瀑布地块查看不同的特性对决策的贡献。
shap.plots.waterfall(shap_values[0])
它将给出一个类似于此的情节:
https://stackoverflow.com/questions/71674209
相似问题