我正在使用sklearn的隔离森林算法来做一些无监督的异常检测。我需要解释预测,我想知道是否有任何方法可以获得导致每个样本的决定的路径。
我通常使用SHAP或ELI5,但我喜欢做一些更定制的东西。所以我需要确切的路径。
发布于 2019-09-12 11:31:26
您正在创建树的集合,因此给定实例的路径对于集合中的每棵树都是不同的。为了检测异常,隔离林获取给定实例的所有树的平均路径长度(隔离样本的分裂数),并使用此长度来确定它是否为异常(平均较短的路径长度表示异常)。当你看着一组树的平均值时,没有“精确”的路径。
据我所知,您最好的选择是使用像您提到的SHAP这样的工具,但您也可以只训练一些估计器,并查看这些树中给定实例所采用的路径,以深入了解决策。
发布于 2020-02-07 09:01:41
现在可以在IF:https://github.com/slundberg/shap/pull/784/files中使用SkLearn的Shap值
https://stackoverflow.com/questions/57904088
复制