【问题标题】:Is it possible to explain sklearn isolation forest prediction?是否可以解释 sklearn 隔离森林预测?
【发布时间】:2020-01-14 04:14:17
【问题描述】:

我正在使用 sklearn 的隔离森林算法进行一些无监督的异常检测。 我需要解释预测,我想知道是否有任何方法可以获得导致每个样本决策的路径。

我通常使用 SHAP 或 ELI5,但我想做一些更自定义的事情。所以我需要确切的路径。

【问题讨论】:

    标签: python unsupervised-learning anomaly-detection


    【解决方案1】:

    您正在创建一个树的集合,因此给定实例的路径对于集合中的每棵树都是不同的。为了检测异常,隔离森林采用给定实例的所有树的平均路径长度(分离样本的分割数),并使用它来确定它是否是异常(平均较短的路径长度表示异常)。当您查看一组树的平均值时,没有“确切”路径。

    据我所知,您最好的办法是使用 SHAP 之类的方法,正如您所提到的,但您也可以只训练几个估计器并查看这些树中给定实例所采用的路径,以深入了解决定。

    【讨论】:

    • 好点。你知道是否可以获得给定样本的所有路径?
    • 我相信是这样的:看看docs,fit 分类器有一个 .estimators_ 属性,它是一个符合 DecisionTreeClassifiers 的列表。然后你可以绘制/调查这些。
    【解决方案2】:

    您现在可以为 SkLearn IF 使用 SHAP 值:https://github.com/slundberg/shap/pull/784/files

    【讨论】:

    猜你喜欢
    • 2017-12-16
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    • 2020-11-16
    • 2021-01-10
    • 1970-01-01
    • 2021-09-03
    • 2019-02-26
    相关资源
    最近更新 更多