如何在训练隔离森林模型时知道哪些特征导致异常

How to know which features causes anomalies while training isolation forest model

我正在使用包含 10 个特征的数据框训练无监督隔离森林模型,该模型表现良好并检测异常。 我的问题是,如果发现异常,我想知道是哪个(些)特征导致了该异常。 有什么办法吗? 如果没有,是否有其他模型可以让我这样做

SHAP 值和 shap library can be used for this. See this answer 示例。

从数据点的解释器中获取形状值后,您可以使用 waterfall plots 查看不同的特征对决策的影响。

shap.plots.waterfall(shap_values[0])

它会给出类似这样的情节: